@gipisistemas/ng-core 1.1.6 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/bundles/gipisistemas-ng-core.umd.js +4286 -4177
  2. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  3. package/bundles/gipisistemas-ng-core.umd.min.js +8 -8
  4. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  5. package/core/guards/auth.guard.d.ts +3 -1
  6. package/core/guards/permission.guard.d.ts +5 -4
  7. package/core/interceptors/auth.interceptor.d.ts +2 -2
  8. package/core/services/authentication.service.d.ts +8 -9
  9. package/core.d.ts +0 -1
  10. package/esm2015/core/guards/auth.guard.js +16 -19
  11. package/esm2015/core/guards/permission.guard.js +31 -22
  12. package/esm2015/core/interceptors/auth.interceptor.js +7 -5
  13. package/esm2015/core/services/authentication.service.js +40 -34
  14. package/esm2015/core.js +1 -2
  15. package/esm2015/gipi-components.js +4 -1
  16. package/esm2015/shared/components/checkbox/checkbox.component.js +15 -11
  17. package/esm2015/shared/components/input/input.component.js +7 -2
  18. package/esm2015/shared/components/select-entity/select-entity.component.js +1 -1
  19. package/esm2015/shared/components/select-entity-paged/select-entity-paged.component.js +2 -2
  20. package/esm2015/shared/components/select-entity-paged/shared/default-options.js +1 -2
  21. package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
  22. package/esm2015/shared/components/select-enum/select-enum.component.js +8 -3
  23. package/esm2015/shared/components/table/table.component.js +28 -9
  24. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  25. package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  26. package/esm2015/shared/gipi-components/form-field/form-field.component.js +3 -3
  27. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  28. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  29. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  30. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  31. package/esm2015/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  32. package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  33. package/esm2015/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  34. package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  35. package/esm2015/shared/gipi-components/select/select.component.js +1 -1
  36. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +3 -3
  37. package/esm2015/shared/gipi-components/skeleton/skeleton.component.js +44 -0
  38. package/esm2015/shared/gipi-components/skeleton/skeleton.directive.js +79 -0
  39. package/esm2015/shared/shared.module.js +7 -3
  40. package/esm5/core/guards/auth.guard.js +16 -20
  41. package/esm5/core/guards/permission.guard.js +31 -23
  42. package/esm5/core/interceptors/auth.interceptor.js +7 -5
  43. package/esm5/core/services/authentication.service.js +41 -46
  44. package/esm5/core.js +1 -2
  45. package/esm5/gipi-components.js +4 -1
  46. package/esm5/shared/components/checkbox/checkbox.component.js +15 -11
  47. package/esm5/shared/components/input/input.component.js +7 -2
  48. package/esm5/shared/components/select-entity/select-entity.component.js +1 -1
  49. package/esm5/shared/components/select-entity-paged/select-entity-paged.component.js +2 -2
  50. package/esm5/shared/components/select-entity-paged/shared/default-options.js +1 -2
  51. package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -8
  52. package/esm5/shared/components/select-enum/select-enum.component.js +8 -3
  53. package/esm5/shared/components/table/table.component.js +28 -9
  54. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  55. package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  56. package/esm5/shared/gipi-components/form-field/form-field.component.js +3 -3
  57. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  58. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  59. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  60. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +1 -1
  61. package/esm5/shared/gipi-components/input-select-listbox/input-select-listbox.component.js +1 -1
  62. package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  63. package/esm5/shared/gipi-components/input-select-paged/input-select-paged.component.js +1 -1
  64. package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  65. package/esm5/shared/gipi-components/select/select.component.js +1 -1
  66. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +3 -3
  67. package/esm5/shared/gipi-components/skeleton/skeleton.component.js +46 -0
  68. package/esm5/shared/gipi-components/skeleton/skeleton.directive.js +81 -0
  69. package/esm5/shared/shared.module.js +7 -3
  70. package/fesm2015/gipisistemas-ng-core.js +1233 -1114
  71. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  72. package/fesm5/gipisistemas-ng-core.js +4286 -4178
  73. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  74. package/gipi-components.d.ts +2 -0
  75. package/gipisistemas-ng-core.metadata.json +1 -1
  76. package/package.json +1 -1
  77. package/shared/components/checkbox/checkbox.component.d.ts +6 -4
  78. package/shared/components/input/input.component.d.ts +1 -0
  79. package/shared/components/select-entity-paged/shared/default-options.d.ts +2 -2
  80. package/shared/components/select-entity-paged/shared/select-search/select-search.component.d.ts +0 -1
  81. package/shared/components/select-enum/select-enum.component.d.ts +1 -0
  82. package/shared/gipi-components/skeleton/skeleton.component.d.ts +9 -0
  83. package/shared/gipi-components/skeleton/skeleton.directive.d.ts +15 -0
  84. package/core/guards/public.guard.d.ts +0 -11
  85. package/esm2015/core/guards/public.guard.js +0 -44
  86. package/esm5/core/guards/public.guard.js +0 -46
@@ -1,4 +1,4 @@
1
- import { InjectionToken, NgModule, EventEmitter, ContentChild, TemplateRef, ViewChild, ElementRef, Input, Output, Component, forwardRef, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, ChangeDetectorRef, Renderer2, NgZone, ChangeDetectionStrategy, ViewEncapsulation, Optional, Directive, HostBinding, HostListener, RendererFactory2, Host, ViewContainerRef, Pipe, ContentChildren, QueryList, ComponentFactoryResolver, inject, LOCALE_ID, SkipSelf, InjectFlags, Injector, Self, Attribute, PLATFORM_ID, ɵstringify, INJECTOR as INJECTOR$1, ɵɵdirectiveInject } from '@angular/core';
1
+ import { InjectionToken, NgModule, EventEmitter, ContentChild, TemplateRef, ViewChild, ElementRef, Input, Output, Component, forwardRef, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, ChangeDetectorRef, Renderer2, NgZone, ChangeDetectionStrategy, ViewEncapsulation, Optional, Directive, HostBinding, HostListener, RendererFactory2, Host, ViewContainerRef, ComponentFactoryResolver, Pipe, ContentChildren, QueryList, inject, LOCALE_ID, SkipSelf, InjectFlags, Injector, Self, Attribute, PLATFORM_ID, ɵstringify, INJECTOR as INJECTOR$1, ɵɵdirectiveInject } from '@angular/core';
2
2
  import { __decorate, __metadata, __param, __awaiter } from 'tslib';
3
3
  import { CdkStepperModule, CdkStepper } from '@angular/cdk/stepper';
4
4
  import { formatNumber, formatPercent, DOCUMENT, formatDate, isPlatformBrowser, CommonModule, formatCurrency } from '@angular/common';
@@ -302,8 +302,6 @@ let CheckboxComponent = CheckboxComponent_1 = class CheckboxComponent {
302
302
  this.onChange = () => { };
303
303
  this.onTouch = () => { };
304
304
  }
305
- ngOnInit() {
306
- }
307
305
  get value() {
308
306
  return this.val;
309
307
  }
@@ -312,6 +310,7 @@ let CheckboxComponent = CheckboxComponent_1 = class CheckboxComponent {
312
310
  this.onChange(val);
313
311
  this.onTouch();
314
312
  }
313
+ ngOnInit() { }
315
314
  registerOnChange(fn) {
316
315
  this.onChange = fn;
317
316
  }
@@ -322,6 +321,10 @@ let CheckboxComponent = CheckboxComponent_1 = class CheckboxComponent {
322
321
  this.value = value;
323
322
  }
324
323
  };
324
+ __decorate([
325
+ Input(),
326
+ __metadata("design:type", String)
327
+ ], CheckboxComponent.prototype, "id", void 0);
325
328
  __decorate([
326
329
  Input(),
327
330
  __metadata("design:type", String)
@@ -342,6 +345,10 @@ __decorate([
342
345
  Input(),
343
346
  __metadata("design:type", Boolean)
344
347
  ], CheckboxComponent.prototype, "indeterminate", void 0);
348
+ __decorate([
349
+ Input('value'),
350
+ __metadata("design:type", Object)
351
+ ], CheckboxComponent.prototype, "val", void 0);
345
352
  __decorate([
346
353
  Output(),
347
354
  __metadata("design:type", Object)
@@ -350,14 +357,10 @@ __decorate([
350
357
  Output(),
351
358
  __metadata("design:type", Object)
352
359
  ], CheckboxComponent.prototype, "change", void 0);
353
- __decorate([
354
- Input('value'),
355
- __metadata("design:type", Object)
356
- ], CheckboxComponent.prototype, "val", void 0);
357
360
  CheckboxComponent = CheckboxComponent_1 = __decorate([
358
361
  Component({
359
362
  selector: 'itss-checkbox',
360
- template: "<div fxLayout=\"column\">\n <mat-checkbox [name]=\"name\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(indeterminate)]=\"indeterminate\"\n (change)=\"change.emit($event)\">\n {{ label }}\n </mat-checkbox>\n</div>\n",
363
+ template: "<mat-checkbox [attr.id]=\"id\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(indeterminate)]=\"indeterminate\"\n (change)=\"change.emit($event)\">\n {{ label }}\n</mat-checkbox>",
361
364
  providers: [
362
365
  {
363
366
  provide: NG_VALUE_ACCESSOR,
@@ -365,8 +368,9 @@ CheckboxComponent = CheckboxComponent_1 = __decorate([
365
368
  multi: true
366
369
  }
367
370
  ],
368
- styles: ["mat-label span{color:#f44336!important}"]
369
- })
371
+ styles: [":host{display:block;min-width:0;max-width:100%}:host ::ng-deep .mat-checkbox-disabled{cursor:not-allowed;opacity:.6}"]
372
+ }),
373
+ __metadata("design:paramtypes", [])
370
374
  ], CheckboxComponent);
371
375
 
372
376
  let IconComponent = class IconComponent {
@@ -1283,6 +1287,7 @@ let InputComponent = InputComponent_1 = class InputComponent {
1283
1287
  this.hidePasswordManager = false;
1284
1288
  this.maxlength = 250;
1285
1289
  this.type = 'text';
1290
+ this.autocomplete = 'off';
1286
1291
  this.appearance = 'outline';
1287
1292
  this.phone = false;
1288
1293
  this.loading = false;
@@ -1453,6 +1458,10 @@ __decorate([
1453
1458
  Input(),
1454
1459
  __metadata("design:type", Object)
1455
1460
  ], InputComponent.prototype, "max", void 0);
1461
+ __decorate([
1462
+ Input(),
1463
+ __metadata("design:type", String)
1464
+ ], InputComponent.prototype, "autocomplete", void 0);
1456
1465
  __decorate([
1457
1466
  Input(),
1458
1467
  __metadata("design:type", String)
@@ -1505,7 +1514,7 @@ __decorate([
1505
1514
  InputComponent = InputComponent_1 = __decorate([
1506
1515
  Component({
1507
1516
  selector: 'itss-input',
1508
- template: "<div fxLayout=\"column\">\n <mat-label *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n </mat-label>\n\n <ng-container *ngIf=\"hidePasswordManager && (type === 'password')\">\n <input style=\"opacity: 0;position: absolute;\">\n <input type=\"password\"\n style=\"opacity: 0;position: absolute;\">\n </ng-container>\n\n <mat-form-field [appearance]=\"appearance\"\n [class]=\"styleClassFormField\">\n <input matInput\n #input\n *ngIf=\"mask || phone\"\n autocomplete=\"off\"\n upperCase\n lowerCase\n spaceDrop\n [enabledUpperCase]=\"upperCase\"\n [enabledLowerCase]=\"lowerCase\"\n [spaceDrop]=\"spaceDrop\"\n [name]=\"name\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength\"\n [mask]=\"phone ? (_maskPhone$ | async) : mask\"\n [dropSpecialCharacters]=\"dropSpecialCharacters\"\n [patterns]=\"patterns\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onInputPhoneKeydown($event)\"\n (ngModelChange)=\"onInputPhoneChange($event)\">\n\n <input matInput\n #input\n *ngIf=\"!mask && !phone\"\n [name]=\"name\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n autocomplete=\"off\"\n upperCase\n [enabledUpperCase]=\"upperCase\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength\"\n [mask]=\"''\"\n spaceDrop\n [spaceDrop]=\"spaceDrop\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n\n <mat-spinner matPrefix\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n diameter=\"17\">\n </mat-spinner>\n\n <div *ngIf=\"suffixRef\"\n matSuffix\n [class]=\"styleClassSuffix\">\n <ng-template [ngTemplateOutlet]=\"suffixRef\"> </ng-template>\n </div>\n </mat-form-field>\n</div>",
1517
+ template: "<div fxLayout=\"column\">\n <mat-label *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n </mat-label>\n\n <ng-container *ngIf=\"hidePasswordManager && (type === 'password')\">\n <input style=\"opacity: 0;position: absolute;\">\n <input type=\"password\"\n style=\"opacity: 0;position: absolute;\">\n </ng-container>\n\n <mat-form-field [appearance]=\"appearance\"\n [class]=\"styleClassFormField\">\n <input matInput\n #input\n *ngIf=\"mask || phone\"\n [autocomplete]=\"autocomplete\"\n upperCase\n lowerCase\n spaceDrop\n [enabledUpperCase]=\"upperCase\"\n [enabledLowerCase]=\"lowerCase\"\n [spaceDrop]=\"spaceDrop\"\n [name]=\"name\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength\"\n [mask]=\"phone ? (_maskPhone$ | async) : mask\"\n [dropSpecialCharacters]=\"dropSpecialCharacters\"\n [patterns]=\"patterns\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onInputPhoneKeydown($event)\"\n (ngModelChange)=\"onInputPhoneChange($event)\">\n\n <input matInput\n #input\n *ngIf=\"!mask && !phone\"\n [name]=\"name\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [autocomplete]=\"autocomplete\"\n upperCase\n [enabledUpperCase]=\"upperCase\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength\"\n [mask]=\"''\"\n spaceDrop\n [spaceDrop]=\"spaceDrop\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\">\n\n <mat-spinner matPrefix\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n diameter=\"17\">\n </mat-spinner>\n\n <div *ngIf=\"suffixRef\"\n matSuffix\n [class]=\"styleClassSuffix\">\n <ng-template [ngTemplateOutlet]=\"suffixRef\"> </ng-template>\n </div>\n </mat-form-field>\n</div>",
1509
1518
  providers: [
1510
1519
  {
1511
1520
  provide: NG_VALUE_ACCESSOR,
@@ -3240,7 +3249,7 @@ __decorate([
3240
3249
  SelectEntityPagedComponent = SelectEntityPagedComponent_1 = __decorate([
3241
3250
  Component({
3242
3251
  selector: 'itss-select-entity-paged',
3243
- template: "<div fxLayout=\"column\"\n [attr.id]=\"id\"\n [attr.name]=\"name\">\n <mat-label *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\">*</span>\n </mat-label>\n <mat-form-field #formFieldSelect\n [appearance]=\"appearance\"\n class=\"mat-form-field-select\">\n <mat-icon *ngIf=\"iconPrefix || svgIconPrefix\"\n matPrefix\n [svgIcon]=\"svgIconPrefix ? svgIconPrefix : ''\">\n {{ !svgIconPrefix && iconPrefix ? iconPrefix : '' }}\n </mat-icon>\n\n <mat-select #matSelect\n [placeholder]=\"placeholder\"\n [compareWith]=\"compareFn\"\n [(ngModel)]=\"model\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n disableOptionCentering=\"true\"\n [panelClass]=\"'select-position ' + classSelectPanel\"\n itssInfiniteScroll\n (infiniteScroll)=\"onLoadMoreOptions(true)\"\n [complete]=\"options?.length === page?.totalElements\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n (openedChange)=\"initLoaded && onLoadMoreOptions(false, $event); openedChange.emit($event)\">\n <mat-option *ngIf=\"!hideFieldSearch\">\n <itss-input-search placeholderLabel=\"Pesquisar...\"\n noEntriesFoundLabel=\"Nenhum registro encontrado\"\n [enableClearOnEscapePressed]=\"true\"\n [disableScrollToActiveOnOptionsChanged]=\"true\"\n [preventHomeEndKeyPropagation]=\"true\"\n [disableScrollToActiveOnOptionsChanged]=\"true\"\n [enableClearOnEscapePressed]=\"true\"\n [clearSearchInput]=\"true\"\n [formControl]=\"valueSearchCtrl\"\n [closeIcon]=\"closeIcon\"\n [closeSvgIcon]=\"closeSvgIcon\"\n [searching]=\"searching\"\n [showToggleAllCheckbox]=\"multiple\"\n [toggleAllCheckboxChecked]=\"toggleAllCheckboxChecked\"\n [toggleAllCheckboxIndeterminate]=\"toggleAllCheckboxIndeterminate\"\n (toggleAll)=\"onToggleAllSelection($event)\">\n </itss-input-search>\n </mat-option>\n\n <mat-select-trigger *ngIf=\"multiple\">\n {{ modelValue ? getPropertyValue(modelValue[0]) : '' }}\n <span *ngIf=\"modelValue?.length > 1\"\n class=\"mat-select-additional-selection\">\n (+{{ modelValue.length - 1 }} {{ modelValue?.length === 2 ? 'outro' : 'outros' }})\n </span>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"!multiple; else optionSelectedMultiple\"\n [value]=\"model\"\n [style.height.px]=\"0\">\n {{ getPropertyValue(model) }}\n </mat-option>\n\n <ng-template #optionSelectedMultiple>\n <mat-option *ngFor=\"let m of model; trackBy: trackByOption\"\n [value]=\"m\"\n [style.height.px]=\"0\">\n {{ getPropertyValue(m) }}\n </mat-option>\n </ng-template>\n\n <cdk-virtual-scroll-viewport itemSize=\"5\"\n [style.height.em]=\"scrollViewportHeight\"\n class=\"virtual-scroll-viewport\">\n <mat-option *cdkVirtualFor=\"let option of options; trackBy: trackByOption\"\n [value]=\"option\"\n (click)=\"onToggleIndeterminateAllSelection()\">\n {{ getPropertyValue(option) }}\n </mat-option>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"searching\"\n class=\"mat-select-search-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <mat-option *ngIf=\"showButtonAdd && !searching\"\n class=\"mat-option-button-add\"\n [disabled]=\"true\"\n aria-hidden=\"true\">\n <gipi-button label=\"Adicionar\"\n gipi-primary\n (click)=\"onClickAdd(); $event.stopPropagation()\"\n fxFlex>\n </gipi-button>\n </mat-option>\n </mat-select>\n\n <mat-icon *ngIf=\"showClearOptionButton()\"\n matSuffix\n (click)=\"removeOption(); $event.stopPropagation()\"\n matTooltip=\"Remover selecionado\">\n close\n </mat-icon>\n </mat-form-field>\n</div>",
3252
+ template: "<div fxLayout=\"column\"\n [attr.id]=\"id\"\n [attr.name]=\"name\">\n <mat-label *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\">*</span>\n </mat-label>\n <mat-form-field #formFieldSelect\n [appearance]=\"appearance\"\n class=\"mat-form-field-select\">\n <mat-icon *ngIf=\"iconPrefix || svgIconPrefix\"\n matPrefix\n [svgIcon]=\"svgIconPrefix ? svgIconPrefix : ''\">\n {{ !svgIconPrefix && iconPrefix ? iconPrefix : '' }}\n </mat-icon>\n\n <mat-select #matSelect\n [placeholder]=\"placeholder\"\n [compareWith]=\"compareFn\"\n [(ngModel)]=\"model\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n disableOptionCentering=\"true\"\n [panelClass]=\"'select-position ' + classSelectPanel\"\n itssInfiniteScroll\n (infiniteScroll)=\"onLoadMoreOptions(true)\"\n [complete]=\"options?.length === page?.totalElements\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n (openedChange)=\"initLoaded && onLoadMoreOptions(false, $event); openedChange.emit($event)\">\n <mat-option *ngIf=\"!hideFieldSearch\">\n <itss-input-search placeholderLabel=\"Pesquisar...\"\n noEntriesFoundLabel=\"Nenhum registro encontrado\"\n [enableClearOnEscapePressed]=\"true\"\n [disableScrollToActiveOnOptionsChanged]=\"true\"\n [preventHomeEndKeyPropagation]=\"true\"\n [disableScrollToActiveOnOptionsChanged]=\"true\"\n [enableClearOnEscapePressed]=\"true\"\n [clearSearchInput]=\"true\"\n [formControl]=\"valueSearchCtrl\"\n [closeIcon]=\"closeIcon\"\n [closeSvgIcon]=\"closeSvgIcon\"\n [searching]=\"searching\"\n [showToggleAllCheckbox]=\"multiple\"\n [toggleAllCheckboxChecked]=\"toggleAllCheckboxChecked\"\n [toggleAllCheckboxIndeterminate]=\"toggleAllCheckboxIndeterminate\"\n (toggleAll)=\"onToggleAllSelection($event)\">\n </itss-input-search>\n </mat-option>\n\n <mat-select-trigger *ngIf=\"multiple\">\n {{ modelValue ? getPropertyValue(modelValue[0]) : '' }}\n <span *ngIf=\"modelValue?.length > 1\"\n class=\"mat-select-additional-selection\">\n (+{{ modelValue.length - 1 }} {{ modelValue?.length === 2 ? 'outro' : 'outros' }})\n </span>\n </mat-select-trigger>\n\n <mat-option *ngIf=\"!multiple; else optionSelectedMultiple\"\n [value]=\"model\"\n [style.height.px]=\"0\">\n {{ getPropertyValue(model) }}\n </mat-option>\n\n <ng-template #optionSelectedMultiple>\n <mat-option *ngFor=\"let m of model; trackBy: trackByOption\"\n [value]=\"m\"\n [style.height.px]=\"0\">\n {{ getPropertyValue(m) }}\n </mat-option>\n </ng-template>\n\n <cdk-virtual-scroll-viewport itemSize=\"5\"\n [style.height.em]=\"scrollViewportHeight\"\n class=\"virtual-scroll-viewport\">\n <mat-option *cdkVirtualFor=\"let option of options; trackBy: trackByOption\"\n [value]=\"option\"\n (click)=\"onToggleIndeterminateAllSelection()\">\n {{ getPropertyValue(option) }}\n </mat-option>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"searching\"\n class=\"mat-select-search-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <mat-option *ngIf=\"showButtonAdd && !searching\"\n class=\"mat-option-button-add\"\n [disabled]=\"true\"\n aria-hidden=\"true\">\n <gipi-button label=\"Adicionar\"\n gipi-primary\n (click)=\"onClickAdd(); $event.stopPropagation()\"\n fxFlex>\n </gipi-button>\n </mat-option>\n </mat-select>\n\n <mat-icon *ngIf=\"showClearOptionButton()\"\n matSuffix\n (click)=\"removeOption(); $event.stopPropagation()\"\n matTooltip=\"Remover selecionado\">\n close\n </mat-icon>\n </mat-form-field>\n</div>",
3244
3253
  providers: [
3245
3254
  {
3246
3255
  provide: NG_VALUE_ACCESSOR,
@@ -3405,7 +3414,6 @@ SelectSearchClearDirective = __decorate([
3405
3414
 
3406
3415
  /** Lista de entradas de ItssSelectSearchComponent que podem ser configuradas com um padrão global. */
3407
3416
  const configurableDefaultOptions = [
3408
- 'ariaLabel',
3409
3417
  'clearSearchInput',
3410
3418
  'closeIcon',
3411
3419
  'closeSvgIcon',
@@ -3475,8 +3483,6 @@ let SelectSearchComponent = SelectSearchComponent_1 = class SelectSearchComponen
3475
3483
  this.preventHomeEndKeyPropagation = false;
3476
3484
  // Desativa a rolagem para as opções ativas quando a lista de opções é alterada. Útil para pesquisa do lado do servidor
3477
3485
  this.disableScrollToActiveOnOptionsChanged = false;
3478
- // Adiciona suporte a leitor de tela 508 para caixa de pesquisa
3479
- this.ariaLabel = 'Pesquisa suspensa';
3480
3486
  // Se deve mostrar a caixa de seleção Selecionar tudo (para mat-select[multi=true])
3481
3487
  this.showToggleAllCheckbox = false;
3482
3488
  // Selecione tudo caixa de seleção marcada estado
@@ -3889,10 +3895,6 @@ __decorate([
3889
3895
  Input(),
3890
3896
  __metadata("design:type", Boolean)
3891
3897
  ], SelectSearchComponent.prototype, "disableScrollToActiveOnOptionsChanged", void 0);
3892
- __decorate([
3893
- Input(),
3894
- __metadata("design:type", String)
3895
- ], SelectSearchComponent.prototype, "ariaLabel", void 0);
3896
3898
  __decorate([
3897
3899
  Input(),
3898
3900
  __metadata("design:type", Boolean)
@@ -3950,7 +3952,7 @@ __decorate([
3950
3952
  SelectSearchComponent = SelectSearchComponent_1 = __decorate([
3951
3953
  Component({
3952
3954
  selector: 'itss-input-search',
3953
- template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\"\n [ngClass]=\"{'mat-select-search-inner-multiple': matSelect.multiple, 'mat-select-search-inner-toggle-all': _isToggleAllCheckboxVisible() }\">\n\n <mat-checkbox *ngIf=\"_isToggleAllCheckboxVisible()\"\n class=\"mat-select-search-toggle-all-checkbox\"\n color=\"primary\"\n [color]=\"matFormField?.color\"\n [disabled]=\"searching\"\n [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"ngx-mat-select-search-toggle-all-tooltip\"\n [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n [(ngModel)]=\"toggleAllCheckboxChecked\"\n [(indeterminate)]=\"toggleAllCheckboxIndeterminate\">\n </mat-checkbox>\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n [type]=\"type\"\n [formControl]=\"_formControl\"\n #searchSelectInput\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholderLabel\"\n [attr.aria-label]=\"ariaLabel\"\n aria-hidden=\"false\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n mat-icon-button\n aria-label=\"Clear\"\n (click)=\"_reset(true)\"\n class=\"mat-select-search-clear\">\n <ng-content *ngIf=\"clearIcon; else defaultIcon\"\n select=\"[itssSelectSearchClear]\">\n </ng-content>\n\n <ng-template #defaultIcon>\n <mat-icon [svgIcon]=\"closeSvgIcon\">\n {{ !closeSvgIcon ? closeIcon : null }}\n </mat-icon>\n </ng-template>\n </button>\n\n <ng-content select=\".mat-select-search-custom-header-content\"> </ng-content>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <ng-content *ngIf=\"noEntriesFound; else defaultNoEntriesFound\"\n select=\"[itssSelectNoEntriesFound]\">\n </ng-content>\n\n <ng-template #defaultNoEntriesFound>\n {{ noEntriesFoundLabel }}\n </ng-template>\n</div>",
3955
+ template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\"\n [ngClass]=\"{'mat-select-search-inner-multiple': matSelect.multiple, 'mat-select-search-inner-toggle-all': _isToggleAllCheckboxVisible() }\">\n\n <mat-checkbox *ngIf=\"_isToggleAllCheckboxVisible()\"\n class=\"mat-select-search-toggle-all-checkbox\"\n color=\"primary\"\n [color]=\"matFormField?.color\"\n [disabled]=\"searching\"\n [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"ngx-mat-select-search-toggle-all-tooltip\"\n [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n [(ngModel)]=\"toggleAllCheckboxChecked\"\n [(indeterminate)]=\"toggleAllCheckboxIndeterminate\">\n </mat-checkbox>\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n [type]=\"type\"\n [formControl]=\"_formControl\"\n #searchSelectInput\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholderLabel\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n mat-icon-button\n aria-label=\"Clear\"\n (click)=\"_reset(true)\"\n class=\"mat-select-search-clear\">\n <ng-content *ngIf=\"clearIcon; else defaultIcon\"\n select=\"[itssSelectSearchClear]\">\n </ng-content>\n\n <ng-template #defaultIcon>\n <mat-icon [svgIcon]=\"closeSvgIcon\">\n {{ !closeSvgIcon ? closeIcon : null }}\n </mat-icon>\n </ng-template>\n </button>\n\n <ng-content select=\".mat-select-search-custom-header-content\"> </ng-content>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <ng-content *ngIf=\"noEntriesFound; else defaultNoEntriesFound\"\n select=\"[itssSelectNoEntriesFound]\">\n </ng-content>\n\n <ng-template #defaultNoEntriesFound>\n {{ noEntriesFoundLabel }}\n </ng-template>\n</div>",
3954
3956
  providers: [
3955
3957
  {
3956
3958
  provide: NG_VALUE_ACCESSOR,
@@ -4332,7 +4334,7 @@ SelectEntityComponent = __decorate([
4332
4334
  Component({
4333
4335
  selector: 'itss-select-entity',
4334
4336
  template: "<div fxLayout=\"column\">\n <mat-label>\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n </mat-label>\n <mat-form-field appearance=\"outline\">\n <mat-select #select\n [name]=\"name\"\n *ngIf=\"multiple\"\n [placeholder]=\"placeholder\"\n [compareWith]=\"compareFn\"\n [(ngModel)]=\"model\"\n [required]=\"required\"\n [disabled]=\"disabled || loading || (entities && entities.length === 0)\"\n multiple\n disableOptionCentering=\"true\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n panelClass=\"select-position\">\n <mat-form-field *ngIf=\"!displayCheckboxAll\"\n appearance=\"standard\"\n class=\"select-input-search\"\n fxFlexFill>\n <input #search\n matInput\n placeholder=\"Pesquisar...\"\n type=\"text\"\n autofocus\n autocomplete=\"off\"\n (focusout)=\"resetSearch()\"\n (keyup)=\"onSearch($event.target.value)\"\n (keydown)=\"$event.stopPropagation()\">\n <span matPrefix>\n <mat-icon>search</mat-icon>\n </span>\n </mat-form-field>\n\n <div *ngIf=\"displayCheckboxAll\"\n class=\"checkbox-all-select\"\n [class.disabled]=\"(select.options && (select.options.length <= 0))\"\n (click)=\"(select.options && (select.options.length <= 0)) ? null : allSelected = !allSelected; toggleAllSelection()\">\n <itss-checkbox label=\"Selecionar todos\"\n color=\"primary\"\n name=\"allSelected\"\n [disabled]=\"(select.options && (select.options.length <= 0))\"\n [(ngModel)]=\"allSelected\"\n [indeterminate]=\"indeterminateAllSelected\">\n </itss-checkbox>\n </div>\n\n <mat-option *ngFor=\"let entity of filteredEntities\"\n [value]=\"entity\"\n (click)=\"validateIndeterminateAllSelected()\">\n {{ getPropertyValue(entity) }}\n </mat-option>\n </mat-select>\n\n <mat-select #select\n [name]=\"name\"\n *ngIf=\"!multiple\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"model\"\n [required]=\"required\"\n [disabled]=\"disabled || loading || (entities && entities.length === 0)\"\n disableOptionCentering=\"true\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n panelClass=\"select-position\">\n <mat-form-field appearance=\"standard\"\n class=\"select-input-search\"\n fxFlexFill>\n <input #search\n matInput\n placeholder=\"Pesquisar...\"\n type=\"text\"\n autofocus\n autocomplete=\"off\"\n (focusout)=\"resetSearch()\"\n (keyup)=\"onSearch($event.target.value)\"\n (keydown)=\"$event.stopPropagation()\">\n <span matPrefix>\n <mat-icon>search</mat-icon>\n </span>\n </mat-form-field>\n\n <mat-option *ngIf=\"!required && !search.value\"\n [value]=\"null\">\n {{ nullValue ? nullValue : 'Selecione' }}\n </mat-option>\n <div *ngFor=\"let entity of filteredEntities\">\n <mat-option *ngIf=\"validKey(entity)\"\n [value]=\"entity\">\n {{ getPropertyValue(entity) }}\n </mat-option>\n </div>\n </mat-select>\n\n <mat-spinner matPrefix\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n diameter=\"17\">\n </mat-spinner>\n\n <mat-icon *ngIf=\"showClearButton()\"\n matSuffix\n (click)=\"removeOption(); $event.stopPropagation()\"\n matTooltip=\"Remover selecionado\">\n clear\n </mat-icon>\n </mat-form-field>\n</div>\n",
4335
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}mat-label span{color:#f44336!important}.disabled{cursor:not-allowed!important;opacity:.6!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{top:1.2rem!important;right:2.5rem!important;position:absolute}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix>mat-icon{color:#696969;width:20px;height:20px;font-size:18px;display:flex!important;align-items:center;justify-content:center}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix>mat-icon:hover{font-size:19px}.checkbox-all-select{line-height:3em;height:3em;text-align:left;cursor:pointer;display:flex;align-items:center;border-bottom:1px solid #e1e5e4}.checkbox-all-select:hover:not(.disabled){background:rgba(0,0,0,.04)}.checkbox-all-select>itss-checkbox{width:100%;padding:0 16px}.checkbox-all-select>itss-checkbox>div{width:100%}.checkbox-all-select>itss-checkbox ::ng-deep .mat-checkbox-layout{pointer-events:none!important}.checkbox-all-select>itss-checkbox ::ng-deep .mat-checkbox-label{font-size:13px!important;text-transform:uppercase!important;color:#696969!important;margin-left:5px!important}"]
4337
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}mat-label span{color:#f44336!important}.disabled{cursor:not-allowed!important;opacity:.6!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{top:50%!important;transform:translateY(-50%)!important;right:3rem!important;position:absolute!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix>mat-icon{color:#131313!important;width:20px;height:20px;font-size:18px;display:flex!important;align-items:center;justify-content:center}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix>mat-icon:hover{font-size:19px}:host ::ng-deep .mat-select-disabled .mat-select-trigger,:host ::ng-deep .mat-select-disabled .mat-select-value{cursor:not-allowed!important}.checkbox-all-select{line-height:3em;height:3em;text-align:left;cursor:pointer;display:flex;align-items:center;border-bottom:1px solid #e1e5e4}.checkbox-all-select:hover:not(.disabled){background:rgba(0,0,0,.04)}.checkbox-all-select>itss-checkbox{width:100%;padding:0 16px}.checkbox-all-select>itss-checkbox>div{width:100%}.checkbox-all-select>itss-checkbox ::ng-deep .mat-checkbox-layout{pointer-events:none!important}.checkbox-all-select>itss-checkbox ::ng-deep .mat-checkbox-label{font-size:13px!important;text-transform:uppercase!important;color:#696969!important;margin-left:5px!important}"]
4336
4338
  }),
4337
4339
  __metadata("design:paramtypes", [ChangeDetectorRef])
4338
4340
  ], SelectEntityComponent);
@@ -4340,6 +4342,7 @@ SelectEntityComponent = __decorate([
4340
4342
  var SelectEnumComponent_1;
4341
4343
  let SelectEnumComponent = SelectEnumComponent_1 = class SelectEnumComponent {
4342
4344
  constructor() {
4345
+ this.tooltip = '';
4343
4346
  this.multiple = false;
4344
4347
  this.selectionChange = new EventEmitter();
4345
4348
  this.loading = false;
@@ -4394,6 +4397,10 @@ __decorate([
4394
4397
  Input(),
4395
4398
  __metadata("design:type", String)
4396
4399
  ], SelectEnumComponent.prototype, "placeholder", void 0);
4400
+ __decorate([
4401
+ Input(),
4402
+ __metadata("design:type", String)
4403
+ ], SelectEnumComponent.prototype, "tooltip", void 0);
4397
4404
  __decorate([
4398
4405
  Input(),
4399
4406
  __metadata("design:type", Boolean)
@@ -4437,7 +4444,7 @@ __decorate([
4437
4444
  SelectEnumComponent = SelectEnumComponent_1 = __decorate([
4438
4445
  Component({
4439
4446
  selector: 'itss-select-enum',
4440
- template: "<div fxLayout=\"column\">\n <mat-label>\n {{ label }}\n <span *ngIf=\"required && label\">*</span>\n </mat-label>\n <mat-form-field appearance=\"outline\">\n <mat-select #select\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [multiple]=\"multiple\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [class.select-disabled]=\"disabled\"\n [disableOptionCentering]=\"true\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n panelClass=\"select-position\">\n <mat-option *ngIf=\"!required && !multiple\"\n [value]=\"null\">\n {{ nullValue ? nullValue : 'Selecione' }}\n </mat-option>\n <div *ngFor=\"let e of enumList\">\n <mat-option *ngIf=\"validKey(e.key)\"\n (click)=\"(e.key === val) ? onSelectionChange(null) : null\"\n [value]=\"e.key\">\n {{ e.value }}\n </mat-option>\n </div>\n </mat-select>\n <mat-spinner matPrefix\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n diameter=\"17\"></mat-spinner>\n </mat-form-field>\n</div>",
4447
+ template: "<div fxLayout=\"column\">\n <mat-label *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n </mat-label>\n\n <mat-form-field appearance=\"outline\">\n <mat-select #select\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n [multiple]=\"multiple\"\n [(ngModel)]=\"value\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [class.select-disabled]=\"disabled\"\n [disableOptionCentering]=\"true\"\n (selectionChange)=\"onSelectionChange($event.value)\"\n panelClass=\"select-position\">\n <mat-option *ngIf=\"!required && !multiple\"\n [value]=\"null\">\n {{ nullValue ? nullValue : 'Selecione' }}\n </mat-option>\n <div *ngFor=\"let e of enumList\">\n <mat-option *ngIf=\"validKey(e.key)\"\n (click)=\"(e.key === val) ? onSelectionChange(null) : null\"\n [value]=\"e.key\">\n {{ e.value }}\n </mat-option>\n </div>\n </mat-select>\n <mat-spinner matPrefix\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n diameter=\"17\"></mat-spinner>\n </mat-form-field>\n</div>",
4441
4448
  providers: [
4442
4449
  {
4443
4450
  provide: NG_VALUE_ACCESSOR,
@@ -4445,7 +4452,7 @@ SelectEnumComponent = SelectEnumComponent_1 = __decorate([
4445
4452
  multi: true
4446
4453
  }
4447
4454
  ],
4448
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}mat-label span{color:#f44336!important}.select-disabled{cursor:not-allowed}"]
4455
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}mat-label span{color:#f44336!important}.select-disabled{cursor:not-allowed!important}:host ::ng-deep .mat-select-disabled .mat-select-trigger,:host ::ng-deep .mat-select-disabled .mat-select-value{cursor:not-allowed!important}"]
4449
4456
  })
4450
4457
  ], SelectEnumComponent);
4451
4458
 
@@ -4861,7 +4868,9 @@ let TableComponent = class TableComponent {
4861
4868
  const setHeigth = this.headerSticky && (this.data.length > pageSize);
4862
4869
  return of(setHeigth ? `${((57 * pageSize) + matHeaderwHeight + matPaginatorHeight)}px` : 'auto');
4863
4870
  }
4864
- ngOnInit() { }
4871
+ ngOnInit() {
4872
+ this._expandedRows = [];
4873
+ }
4865
4874
  ngAfterViewInit() {
4866
4875
  setTimeout(() => {
4867
4876
  if (!ObjectUtil.isNull(this._dataSource)) {
@@ -4966,15 +4975,32 @@ let TableComponent = class TableComponent {
4966
4975
  }
4967
4976
  toggleExpandRow(row) {
4968
4977
  const index = this._expandedRows.findIndex(r => r === row);
4969
- if (ArrayUtil.isEmpty(this._expandedRows) || (index < 0)) {
4970
- this._expandedRows = [row];
4978
+ if (index < 0) { // Se a linha não estiver expandida
4979
+ if (this.expandableOneRow) {
4980
+ this._expandedRows = [row];
4981
+ }
4982
+ else {
4983
+ this._expandedRows.push(row);
4984
+ }
4971
4985
  this.rowExpanded.emit(row);
4972
- return;
4973
4986
  }
4974
- const _expandedRowsAux = ArrayUtil.clone(this._expandedRows);
4975
- _expandedRowsAux.splice(index, 1);
4976
- this._expandedRows = ArrayUtil.clone(_expandedRowsAux);
4977
- this.rowExpanded.emit(null);
4987
+ else { // Se a linha já estiver expandida
4988
+ const _expandedRowsAux = [...this._expandedRows];
4989
+ _expandedRowsAux.splice(index, 1);
4990
+ this._expandedRows = [..._expandedRowsAux];
4991
+ this.rowExpanded.emit(null);
4992
+ }
4993
+ // Logica anterior, qualquer problema voltar, pois funcionava bem
4994
+ // const index: number = this._expandedRows.findIndex(r => r === row);
4995
+ // if (ArrayUtil.isEmpty(this._expandedRows) || (index < 0)) {
4996
+ // this._expandedRows = [row];
4997
+ // this.rowExpanded.emit(row);
4998
+ // return;
4999
+ // }
5000
+ // const _expandedRowsAux: T[] = ArrayUtil.clone(this._expandedRows);
5001
+ // _expandedRowsAux.splice(index, 1);
5002
+ // this._expandedRows = ArrayUtil.clone(_expandedRowsAux);
5003
+ // this.rowExpanded.emit(null);
4978
5004
  }
4979
5005
  sortData(sort) {
4980
5006
  if (this.infiniteScroll) {
@@ -6515,6 +6541,120 @@ GIPIColDirective = __decorate([
6515
6541
  Renderer2])
6516
6542
  ], GIPIColDirective);
6517
6543
 
6544
+ var GIPISkeletonComponent_1;
6545
+ let GIPISkeletonComponent = GIPISkeletonComponent_1 = class GIPISkeletonComponent {
6546
+ constructor(elementRef) {
6547
+ this.elementRef = elementRef;
6548
+ }
6549
+ ngOnInit() {
6550
+ var _a, _b;
6551
+ const host = this.elementRef.nativeElement;
6552
+ if (!StringUtil.isEmpty(this.className)) {
6553
+ host.classList.add(this.className);
6554
+ }
6555
+ host.style.setProperty('--skeleton-rect-width', (_a = this.width) !== null && _a !== void 0 ? _a : '100%');
6556
+ host.style.setProperty('--skeleton-rect-height', (_b = this.height) !== null && _b !== void 0 ? _b : '20px');
6557
+ }
6558
+ };
6559
+ GIPISkeletonComponent.ctorParameters = () => [
6560
+ { type: ElementRef }
6561
+ ];
6562
+ GIPISkeletonComponent = GIPISkeletonComponent_1 = __decorate([
6563
+ Component({
6564
+ selector: 'gipi-skeleton',
6565
+ exportAs: 'gipiSkeleton',
6566
+ template: '',
6567
+ providers: [
6568
+ {
6569
+ provide: NG_VALUE_ACCESSOR,
6570
+ useExisting: forwardRef(() => GIPISkeletonComponent_1),
6571
+ multi: true
6572
+ }
6573
+ ],
6574
+ host: {
6575
+ 'class': 'gipi-skeleton',
6576
+ },
6577
+ changeDetection: ChangeDetectionStrategy.OnPush,
6578
+ styles: [":host{display:block;width:var(--skeleton-rect-width);height:var(--skeleton-rect-height);background:no-repeat #eff1f6}.gipi-skeleton{-webkit-animation:1.5s cubic-bezier(.4,0,.2,1) infinite pulse;animation:1.5s cubic-bezier(.4,0,.2,1) infinite pulse;-webkit-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}"]
6579
+ }),
6580
+ __metadata("design:paramtypes", [ElementRef])
6581
+ ], GIPISkeletonComponent);
6582
+
6583
+ function random(min, max) {
6584
+ return Math.floor(Math.random() * (max - min + 1)) + min;
6585
+ }
6586
+ let GIPISkeletonDirective = class GIPISkeletonDirective {
6587
+ constructor(_templateRef, _viewContainerRef, _componentFactoryResolver, _elementRef) {
6588
+ this._templateRef = _templateRef;
6589
+ this._viewContainerRef = _viewContainerRef;
6590
+ this._componentFactoryResolver = _componentFactoryResolver;
6591
+ this._elementRef = _elementRef;
6592
+ this.loading = false;
6593
+ this.size = 1;
6594
+ }
6595
+ ngOnChanges(changes) {
6596
+ if (changes.loading) {
6597
+ this._viewContainerRef.clear();
6598
+ if (changes.loading.currentValue) {
6599
+ this._createSkeletons();
6600
+ }
6601
+ else {
6602
+ this._viewContainerRef.createEmbeddedView(this._templateRef);
6603
+ }
6604
+ }
6605
+ }
6606
+ _createSkeletons() {
6607
+ const element = this._elementRef.nativeElement;
6608
+ const elementDimensions = element.getBoundingClientRect();
6609
+ const computedWidth = (this.width === 'rand')
6610
+ ? `${random(30, 90)}%`
6611
+ : this.width || `${elementDimensions.width}px`;
6612
+ const computedHeight = this.height || `${elementDimensions.height}px`;
6613
+ Array.from({ length: this.size }).forEach(() => {
6614
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(GIPISkeletonComponent);
6615
+ const componentRef = this._viewContainerRef.createComponent(componentFactory);
6616
+ Object.assign(componentRef.instance, {
6617
+ width: computedWidth,
6618
+ height: computedHeight,
6619
+ className: this.className,
6620
+ });
6621
+ });
6622
+ }
6623
+ };
6624
+ GIPISkeletonDirective.ctorParameters = () => [
6625
+ { type: TemplateRef },
6626
+ { type: ViewContainerRef },
6627
+ { type: ComponentFactoryResolver },
6628
+ { type: ElementRef }
6629
+ ];
6630
+ __decorate([
6631
+ Input('skeleton'),
6632
+ __metadata("design:type", Boolean)
6633
+ ], GIPISkeletonDirective.prototype, "loading", void 0);
6634
+ __decorate([
6635
+ Input('skeletonRepeat'),
6636
+ __metadata("design:type", Number)
6637
+ ], GIPISkeletonDirective.prototype, "size", void 0);
6638
+ __decorate([
6639
+ Input('skeletonWidth'),
6640
+ __metadata("design:type", String)
6641
+ ], GIPISkeletonDirective.prototype, "width", void 0);
6642
+ __decorate([
6643
+ Input('skeletonHeight'),
6644
+ __metadata("design:type", String)
6645
+ ], GIPISkeletonDirective.prototype, "height", void 0);
6646
+ __decorate([
6647
+ Input('skeletonClassName'),
6648
+ __metadata("design:type", String)
6649
+ ], GIPISkeletonDirective.prototype, "className", void 0);
6650
+ GIPISkeletonDirective = __decorate([
6651
+ Directive({ selector: '[skeleton]' }),
6652
+ __metadata("design:paramtypes", [TemplateRef,
6653
+ ViewContainerRef,
6654
+ ComponentFactoryResolver,
6655
+ ElementRef])
6656
+ ], GIPISkeletonDirective);
6657
+
6518
6658
  class GIPIPaginationService {
6519
6659
  constructor() {
6520
6660
  this._instances = {};
@@ -9146,7 +9286,7 @@ GIPIDropdownMenuComponent = GIPIDropdownMenuComponent_1 = __decorate([
9146
9286
  'class': 'gipi-dropdown-menu',
9147
9287
  },
9148
9288
  changeDetection: ChangeDetectionStrategy.OnPush,
9149
- styles: [".dropdown-menu-container{display:flex;flex-direction:column;gap:12px;width:100%}.dropdown-menu-container .dropdown-menu-label{color:#131313;font-size:1.4rem;line-height:100%}.dropdown-menu-container .dropdown-menu-label>span{color:#d14014;font-size:inherit;line-height:inherit}.dropdown-menu-container .dropdown-menu-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;gap:12px;width:100%;max-height:4rem;border-radius:5px;cursor:pointer;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;transition:.2s}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:active),.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:hover{border-color:#bfbfbf!important;background-color:#f5f5f5}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled){background-color:#e0e1e2!important;border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-input,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-button{cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-input{cursor:pointer;height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.dropdown-menu-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.btn-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
9289
+ styles: [".dropdown-menu-container{display:flex;flex-direction:column;gap:1rem;width:100%}.dropdown-menu-container .dropdown-menu-label{color:#131313;font-size:1.4rem;line-height:100%}.dropdown-menu-container .dropdown-menu-label>span{color:#d14014;font-size:inherit;line-height:inherit}.dropdown-menu-container .dropdown-menu-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:pointer;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;transition:.2s}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:active),.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:hover{border-color:#bfbfbf!important;background-color:#f5f5f5}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled){background-color:#e0e1e2!important;border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-input,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-button{cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-input{cursor:pointer;height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.dropdown-menu-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.btn-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
9150
9290
  }),
9151
9291
  __metadata("design:paramtypes", [ChangeDetectorRef,
9152
9292
  ElementRef])
@@ -9795,7 +9935,7 @@ GIPIFormFieldComponent = GIPIFormFieldComponent_1 = __decorate([
9795
9935
  Component({
9796
9936
  selector: `gipi-form-field`,
9797
9937
  exportAs: 'gipiFormField',
9798
- template: "<label class=\"form-field-container\"\n [attr.for]=\"id\">\n <span class=\"form-field-label\"\n *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n </span>\n\n <div class=\"form-field-content\"\n [class.form-field-select]=\"type === 'select'\"\n (click)=\"onInputClick($event)\">\n <!-- Input others -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type !== 'currency'\"\n #inputRef\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max ? max : 250\"\n [maxlength]=\"maxLength ? maxLength : 250\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <!-- Input currency -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type === 'currency'\"\n #inputRef\n currencyMask\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name + 'currency'\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n [options]=\"optionsCurrency\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'select'\">\n <div class=\"form-field-trigger\"\n *ngIf=\"showTrigger && (trigger && trigger > 1)\">\n + {{ trigger >= 99 ? 99 : trigger }}\n </div>\n\n <button ariaLabel=\"Limpar op\u00E7\u00F5es\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <mat-icon class=\"form-field-icon\">\n keyboard_arrow_down\n </mat-icon>\n </div>\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'search'\">\n <button ariaLabel=\"Limpar\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <button ariaLabel=\"Pesquisar\"\n class=\"form-field-button\"\n *ngIf=\"showSearch\"\n (click)=\"onButtonSearchClick($event)\">\n <mat-icon class=\"form-field-icon\">\n search\n </mat-icon>\n </button>\n\n <mat-icon class=\"form-field-icon\"\n *ngIf=\"!showSearch\">\n search\n </mat-icon>\n </div>\n </div>\n</label>",
9938
+ template: "<label class=\"form-field-container\"\n [attr.for]=\"id\">\n <span class=\"form-field-label\"\n *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n </span>\n\n <div class=\"form-field-content\"\n [class.form-field-select]=\"type === 'select'\"\n (click)=\"onInputClick($event)\">\n <!-- Input others -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type !== 'currency'\"\n #inputRef\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max ? max : 250\"\n [maxlength]=\"maxLength ? maxLength : 250\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <!-- Input currency -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type === 'currency'\"\n #inputRef\n currencyMask\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name + 'currency'\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n [options]=\"optionsCurrency\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'select'\">\n <div class=\"form-field-trigger\"\n *ngIf=\"showTrigger && (trigger && trigger > 1)\">\n + {{ trigger >= 99 ? 99 : trigger }}\n </div>\n\n <button ariaLabel=\"Limpar op\u00E7\u00F5es\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <div class=\"form-field-icon-arrow\"> </div>\n </div>\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'search'\">\n <button ariaLabel=\"Limpar\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <button ariaLabel=\"Pesquisar\"\n class=\"form-field-button\"\n *ngIf=\"showSearch\"\n (click)=\"onButtonSearchClick($event)\">\n <mat-icon class=\"form-field-icon\">\n search\n </mat-icon>\n </button>\n\n <mat-icon class=\"form-field-icon\"\n *ngIf=\"!showSearch\">\n search\n </mat-icon>\n </div>\n </div>\n</label>",
9799
9939
  providers: [
9800
9940
  {
9801
9941
  provide: NG_VALUE_ACCESSOR,
@@ -9807,7 +9947,7 @@ GIPIFormFieldComponent = GIPIFormFieldComponent_1 = __decorate([
9807
9947
  'class': 'gipi-form-field',
9808
9948
  },
9809
9949
  changeDetection: ChangeDetectionStrategy.OnPush,
9810
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.form-field-container{display:flex;flex-direction:column;gap:1rem;width:100%}.form-field-container .form-field-label{color:#131313;font-size:1.4rem;line-height:100%}.form-field-container .form-field-label>span{color:#d14014;font-size:inherit;line-height:inherit}.form-field-container .form-field-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1.2rem;gap:1.2rem;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:has(.form-field-input:active),.form-field-container .form-field-content:has(.form-field-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:hover{border-color:#bfbfbf!important}.form-field-container .form-field-content:has(.form-field-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.form-field-container .form-field-content:has(.form-field-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.form-field-container .form-field-content:has(.form-field-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-input,.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-button{cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content.form-field-select,.form-field-container .form-field-content.form-field-select .form-field-input{box-shadow:none!important;cursor:pointer!important}.form-field-container .form-field-content .form-field-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-field-container .form-field-content .form-field-suffix{display:flex;flex-direction:row;align-items:center;gap:1.6rem}.form-field-container .form-field-content .form-field-suffix .form-field-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.form-field-container .form-field-content .form-field-suffix .form-field-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.form-field-container .form-field-content .form-field-suffix .form-field-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.form-field-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}"]
9950
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.form-field-container{display:flex;flex-direction:column;gap:1rem;width:100%}.form-field-container .form-field-label{color:#131313;font-size:1.4rem;line-height:100%}.form-field-container .form-field-label>span{color:#d14014;font-size:inherit;line-height:inherit}.form-field-container .form-field-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1.2rem;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:has(.form-field-input:active),.form-field-container .form-field-content:has(.form-field-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:hover{border-color:#bfbfbf!important}.form-field-container .form-field-content:has(.form-field-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.form-field-container .form-field-content:has(.form-field-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.form-field-container .form-field-content:has(.form-field-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-input,.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-button{cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content.form-field-select,.form-field-container .form-field-content.form-field-select .form-field-input{box-shadow:none!important;cursor:pointer!important}.form-field-container .form-field-content .form-field-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-field-container .form-field-content .form-field-suffix{display:flex;flex-direction:row;align-items:center;gap:1.6rem}.form-field-container .form-field-content .form-field-suffix .form-field-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.form-field-container .form-field-content .form-field-suffix .form-field-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.form-field-container .form-field-content .form-field-suffix .form-field-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.form-field-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.form-field-icon-arrow{border:solid #131313;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);margin:-5px 4px 0}"]
9811
9951
  }),
9812
9952
  __metadata("design:paramtypes", [ChangeDetectorRef,
9813
9953
  ElementRef])
@@ -10165,7 +10305,7 @@ GIPIInputCurrencyComponent = GIPIInputCurrencyComponent_1 = __decorate([
10165
10305
  'class': 'gipi-input-currency',
10166
10306
  },
10167
10307
  changeDetection: ChangeDetectionStrategy.OnPush,
10168
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-currency-container{display:flex;flex-direction:column;gap:12px;width:100%}.input-currency-container .input-currency-label{color:#131313;font-size:1.4rem;line-height:100%}.input-currency-container .input-currency-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-currency-container .input-currency-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:has(.input-currency-input:active),.input-currency-container .input-currency-content:has(.input-currency-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:hover{border-color:#bfbfbf!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.input-currency-container .input-currency-content:has(.input-currency-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.input-currency-container .input-currency-content .input-currency-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1}"]
10308
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-currency-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-currency-container .input-currency-label{color:#131313;font-size:1.4rem;line-height:100%}.input-currency-container .input-currency-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-currency-container .input-currency-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:has(.input-currency-input:active),.input-currency-container .input-currency-content:has(.input-currency-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:hover{border-color:#bfbfbf!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.input-currency-container .input-currency-content:has(.input-currency-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed!important;box-shadow:none!important;pointer-events:none!important}.input-currency-container .input-currency-content .input-currency-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1}"]
10169
10309
  }),
10170
10310
  __metadata("design:paramtypes", [ChangeDetectorRef,
10171
10311
  ElementRef])
@@ -10567,7 +10707,7 @@ GIPIInputMonthPickerComponent = GIPIInputMonthPickerComponent_1 = __decorate([
10567
10707
  'class': 'gipi-input-monthpicker',
10568
10708
  },
10569
10709
  changeDetection: ChangeDetectionStrategy.OnPush,
10570
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-monthpicker-container{display:flex;flex-direction:column;gap:12px;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
10710
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-monthpicker-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;box-shadow:none!important;caret-color:#d1d2d4!important;pointer-events:none!important;cursor:not-allowed!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
10571
10711
  }),
10572
10712
  __metadata("design:paramtypes", [ChangeDetectorRef,
10573
10713
  GIPINgConfig])
@@ -10869,7 +11009,7 @@ GIPIInputSelectEnumComponent = GIPIInputSelectEnumComponent_1 = __decorate([
10869
11009
  'class': 'gipi-input-select-enum',
10870
11010
  },
10871
11011
  changeDetection: ChangeDetectionStrategy.OnPush,
10872
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;gap:12px}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
11012
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
10873
11013
  }),
10874
11014
  __metadata("design:paramtypes", [ElementRef,
10875
11015
  ChangeDetectorRef])
@@ -12095,7 +12235,7 @@ GIPIInputSelectComponent = GIPIInputSelectComponent_1 = __decorate([
12095
12235
  'class': 'gipi-input-select',
12096
12236
  },
12097
12237
  changeDetection: ChangeDetectionStrategy.OnPush,
12098
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:12px}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:12px;padding:8px 12px}.select-option-all{border-bottom:1px solid rgba(0,0,0,.12)}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:12px;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
12238
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:1rem;padding:8px 12px}.select-option-all{border-bottom:1px solid rgba(0,0,0,.12)}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:1.6rem 0}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:1rem;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
12099
12239
  }),
12100
12240
  __metadata("design:paramtypes", [ChangeDetectorRef])
12101
12241
  ], GIPIInputSelectComponent);
@@ -12505,7 +12645,7 @@ GIPIInputSelectListboxComponent = GIPIInputSelectListboxComponent_1 = __decorate
12505
12645
  'class': 'gipi-input-select-listbox',
12506
12646
  },
12507
12647
  changeDetection: ChangeDetectionStrategy.OnPush,
12508
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select-listbox{padding:0!important}::ng-deep .listbox-radio-group{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:16px}.overlay-select-listbox-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:12px;width:100%;gap:12px;position:relative}.overlay-select-listbox-content .overlay-select-listbox-backdrop{background:rgba(0,0,0,.32);opacity:1;position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;border-radius:4px;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.overlay-select-listbox-content .listbox-selected{display:flex;flex-direction:column;gap:16px;background-color:#f5f5f6;border-radius:4px;padding:8px;overflow:hidden;width:100%}.overlay-select-listbox-content .listbox-selected>span{font-size:1.4rem;font-weight:600;line-height:100%;color:#131313}.overlay-select-listbox-content .listbox-selected .list{display:flex;flex-direction:column;gap:4px;width:100%;height:9rem;overflow-x:hidden;overflow-y:auto}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar{width:15px}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar-thumb{background-color:#d1d2d4;border-radius:10px;border:4px solid transparent;background-clip:padding-box}.overlay-select-listbox-content .listbox-selected .list .option{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px 12px;gap:8px;font-weight:400;font-size:1.4rem;line-height:1.6rem;color:#595959;transition:.1s;border-radius:4px}.overlay-select-listbox-content .listbox-selected .list .option:hover{background-color:#e0e1e2}.overlay-select-listbox-content .listbox-selected .list .option:hover>button{visibility:visible!important}.overlay-select-listbox-content .listbox-selected .list .option>button{display:flex;align-items:center;justify-content:center;outline:0;border:none;padding:2px;border-radius:4px;cursor:pointer;background-color:transparent;visibility:hidden}.overlay-select-listbox-content .listbox-selected .list .option>button>svg{width:1.4rem;height:1.4rem;line-height:1.6rem}.overlay-select-listbox-content .listbox-selected .list .option>button:hover>svg{transform:scale(1.08)}.overlay-select-listbox-content .footer{border-top:1px solid #bfbfbf;padding-top:12px;display:flex;align-items:center;gap:12px}"]
12648
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select-listbox{padding:0!important}::ng-deep .listbox-radio-group{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:16px}.overlay-select-listbox-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:12px;width:100%;gap:1rem;position:relative}.overlay-select-listbox-content .overlay-select-listbox-backdrop{background:rgba(0,0,0,.32);opacity:1;position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;border-radius:4px;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.overlay-select-listbox-content .listbox-selected{display:flex;flex-direction:column;gap:16px;background-color:#f5f5f6;border-radius:4px;padding:8px;overflow:hidden;width:100%}.overlay-select-listbox-content .listbox-selected>span{font-size:1.4rem;font-weight:600;line-height:100%;color:#131313}.overlay-select-listbox-content .listbox-selected .list{display:flex;flex-direction:column;gap:4px;width:100%;height:9rem;overflow-x:hidden;overflow-y:auto}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar{width:15px}.overlay-select-listbox-content .listbox-selected .list::-webkit-scrollbar-thumb{background-color:#d1d2d4;border-radius:10px;border:4px solid transparent;background-clip:padding-box}.overlay-select-listbox-content .listbox-selected .list .option{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px 12px;gap:8px;font-weight:400;font-size:1.4rem;line-height:1.6rem;color:#595959;transition:.1s;border-radius:4px}.overlay-select-listbox-content .listbox-selected .list .option:hover{background-color:#e0e1e2}.overlay-select-listbox-content .listbox-selected .list .option:hover>button{visibility:visible!important}.overlay-select-listbox-content .listbox-selected .list .option>button{display:flex;align-items:center;justify-content:center;outline:0;border:none;padding:2px;border-radius:4px;cursor:pointer;background-color:transparent;visibility:hidden}.overlay-select-listbox-content .listbox-selected .list .option>button>svg{width:1.4rem;height:1.4rem;line-height:1.6rem}.overlay-select-listbox-content .listbox-selected .list .option>button:hover>svg{transform:scale(1.08)}.overlay-select-listbox-content .footer{border-top:1px solid #bfbfbf;padding-top:12px;display:flex;align-items:center;gap:1rem}"]
12509
12649
  }),
12510
12650
  __metadata("design:paramtypes", [ChangeDetectorRef,
12511
12651
  ElementRef,
@@ -12853,7 +12993,7 @@ GIPIInputSearchComponent = GIPIInputSearchComponent_1 = __decorate([
12853
12993
  Component({
12854
12994
  selector: `gipi-input-search`,
12855
12995
  exportAs: 'gipiInputSearch',
12856
- template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n aria-label=\"Pesquisa suspensa\"\n aria-hidden=\"false\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
12996
+ template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
12857
12997
  providers: [
12858
12998
  {
12859
12999
  provide: NG_VALUE_ACCESSOR,
@@ -13214,7 +13354,7 @@ GIPIInputSelectPagedComponent = GIPIInputSelectPagedComponent_1 = __decorate([
13214
13354
  'class': 'gipi-input-select-paged',
13215
13355
  },
13216
13356
  changeDetection: ChangeDetectionStrategy.OnPush,
13217
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-select-paged-content{display:flex;flex-direction:column;gap:12px}.input-select-paged-content>label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.input-select-paged-content>label>span{color:#d14014}.field-diasabled{cursor:not-allowed}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{position:absolute!important;right:35px!important;top:34%!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix .mat-icon{height:1.6rem!important;width:1.6rem!important;font-size:1.6rem!important;color:#131313!important}:host ::ng-deep .mat-select-value{padding-right:30px!important}::ng-deep .virtual-scroll-viewport{width:100%!important;overflow:hidden}::ng-deep .virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important}.mat-select-additional-selection{opacity:.75;font-size:.75em;margin-left:16px}.mat-select-search-loading{background-color:#fff;display:flex;align-items:center;justify-content:center;height:3em}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.dot-pulse::after,.dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c}.dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}::ng-deep .mat-select-arrow{border:solid #131313!important;border-width:0 2px 2px 0!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;margin:0 4px!important}::ng-deep .mat-option-button-add{position:absolute;bottom:0;left:0;width:100%;z-index:100;background-color:#fff;border-radius:4px}"]
13357
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-select-paged-content{display:flex;flex-direction:column;gap:1rem}.input-select-paged-content>label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.input-select-paged-content>label>span{color:#d14014}.field-diasabled{cursor:not-allowed}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix{position:absolute!important;right:35px!important;top:34%!important}:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-suffix .mat-icon{height:1.6rem!important;width:1.6rem!important;font-size:1.6rem!important;color:#131313!important}:host ::ng-deep .mat-select-value{padding-right:30px!important}::ng-deep .virtual-scroll-viewport{width:100%!important;overflow:hidden}::ng-deep .virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important}.mat-select-additional-selection{opacity:.75;font-size:.75em;margin-left:16px}.mat-select-search-loading{background-color:#fff;display:flex;align-items:center;justify-content:center;height:3em}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.dot-pulse::after,.dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#f3465c;color:#f3465c}.dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}::ng-deep .mat-select-arrow{border:solid #131313!important;border-width:0 2px 2px 0!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;margin:0 4px!important}::ng-deep .mat-option-button-add{position:absolute;bottom:0;left:0;width:100%;z-index:100;background-color:#fff;border-radius:4px}"]
13218
13358
  }),
13219
13359
  __metadata("design:paramtypes", [ChangeDetectorRef])
13220
13360
  ], GIPIInputSelectPagedComponent);
@@ -14413,7 +14553,7 @@ GIPIRadioGroupComponent = GIPIRadioGroupComponent_1 = __decorate([
14413
14553
  'class': 'gipi-radio-group',
14414
14554
  },
14415
14555
  changeDetection: ChangeDetectionStrategy.OnPush,
14416
- styles: [".radiogroup-content{display:flex;flex-direction:column;gap:12px}.radiogroup-content>label,.radiogroup-content>legend{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.radiogroup-content>label>span,.radiogroup-content>legend>span{color:#d14014}.radiogroup-content .radiogroup{display:flex;align-items:center;gap:12px;padding:8px 0}.fieldset-radio-content{height:6.6rem;border-color:rgba(0,0,0,.12);border-radius:5px}.fieldset-radio-content .radiogroup{width:100%;height:100%;justify-content:space-around}"]
14556
+ styles: [".radiogroup-content{display:flex;flex-direction:column;gap:1rem}.radiogroup-content>label,.radiogroup-content>legend{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.radiogroup-content>label>span,.radiogroup-content>legend>span{color:#d14014}.radiogroup-content .radiogroup{display:flex;align-items:center;gap:1rem;padding:8px 0}.fieldset-radio-content{height:6.6rem;border-color:rgba(0,0,0,.12);border-radius:5px}.fieldset-radio-content .radiogroup{width:100%;height:100%;justify-content:space-around}"]
14417
14557
  }),
14418
14558
  __metadata("design:paramtypes", [ChangeDetectorRef])
14419
14559
  ], GIPIRadioGroupComponent);
@@ -15387,7 +15527,7 @@ GIPISelectComponent = GIPISelectComponent_1 = __decorate([
15387
15527
  },
15388
15528
  changeDetection: ChangeDetectionStrategy.OnPush,
15389
15529
  encapsulation: ViewEncapsulation.None,
15390
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.select-content{display:flex;flex-direction:column;gap:12px}.select-content .label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.select-content .label>span{color:#d14014}.select-content .select{background-color:#fff;border:1px solid #e0e1e2;color:#6d6f73;border-radius:16px;padding:12px;gap:8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;transition:.2s}.select-content .select>span{font-weight:600;font-size:1.4rem;line-height:100%;flex:1}.select-content .select>mat-icon{color:#6d6f73;fill:#6d6f73;max-height:16px}.select-content .select .icon-select{width:16px;height:16px;font-size:1.6rem}.select-overlay-content{list-style:none;max-height:256px;display:flex;flex-direction:column;gap:.8px}.select-overlay-content>li{height:3em;line-height:3em;border-radius:4px;padding:0 16px;text-align:left;cursor:pointer;color:#8c8f93;font-size:1.3rem}.select-overlay-content>li:hover{background-color:#e0e1e2;color:#6d6f73;font-weight:600}.active{background-color:#f3e7e7;color:#e0313e}.disabled{border:1px solid #d1d2d4!important;color:#f5f5f6!important;cursor:not-allowed!important}"]
15530
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.select-content{display:flex;flex-direction:column;gap:1rem}.select-content .label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.select-content .label>span{color:#d14014}.select-content .select{background-color:#fff;border:1px solid #e0e1e2;color:#6d6f73;border-radius:16px;padding:12px;gap:8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;transition:.2s}.select-content .select>span{font-weight:600;font-size:1.4rem;line-height:100%;flex:1}.select-content .select>mat-icon{color:#6d6f73;fill:#6d6f73;max-height:16px}.select-content .select .icon-select{width:16px;height:16px;font-size:1.6rem}.select-overlay-content{list-style:none;max-height:256px;display:flex;flex-direction:column;gap:.8px}.select-overlay-content>li{height:3em;line-height:3em;border-radius:4px;padding:0 16px;text-align:left;cursor:pointer;color:#8c8f93;font-size:1.3rem}.select-overlay-content>li:hover{background-color:#e0e1e2;color:#6d6f73;font-weight:600}.active{background-color:#f3e7e7;color:#e0313e}.disabled{border:1px solid #d1d2d4!important;color:#f5f5f6!important;cursor:not-allowed!important}"]
15391
15531
  }),
15392
15532
  __metadata("design:paramtypes", [])
15393
15533
  ], GIPISelectComponent);
@@ -15793,7 +15933,7 @@ GIPISidenavComponent = GIPISidenavComponent_1 = __decorate([
15793
15933
  Component({
15794
15934
  selector: `gipi-sidenav`,
15795
15935
  exportAs: 'gipiSidenav',
15796
- template: "<mat-sidenav #sidenav\n class=\"sidenav\"\n opened=\"true\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\">\n\n <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-bottom': (showConfiguration || showIntegration)}\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button [attr.id]=\"'buttonToogleSidenav'\"\n [attr.name]=\"'buttonToogleSidenav'\"\n class=\"toggle-sidenav\"\n (click)=\"toggleSidenav(); _mouseEnter = false;\">\n <mat-icon [@indicatorRotate]=\"(isOpened | async) ? 'opened': 'closed'\">\n chevron_right\n </mat-icon>\n\n {{ ((labelToggle) && (isOpened | async)) ? labelToggle : '' }}\n </button>\n\n <!-- Bot\u00E3o voltar do submenu -->\n <div class=\"sidenav-action-menu sidenav-menu-collapsable\">\n <a [attr.id]=\"'buttonSubmenuBack'\"\n [attr.name]=\"'buttonSubmenuBack'\"\n *ngIf=\"(isOpened | async) && (_levelOneMenuCollapsableSelected || _levelTwoMenuCollapsableSelected)\"\n (click)=\"onMenuCollapsableGoBack()\"\n (mouseenter)=\"!_mouseEnter && onMouseEnter()\"\n (mouseleave)=\"_mouseEnter && onMouseLeave()\">\n <mat-icon>\n arrow_back\n </mat-icon>\n <span>\n {{ (submenuBackButtonName | async) }}\n </span>\n </a>\n </div>\n\n <!-- Se o menu item for do tipo submenu -->\n <mat-nav-list class=\"sidenav-menu-list\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidenav-action-menu\"\n *ngFor=\"let menu of (levelMenuSelected | async)\">\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuActive(menu)\"\n [routerLink]=\"menu.route\"\n *ngIf=\"menu.type === 'ITEM'\"\n (click)=\"onMenuItemSelected(menu)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n </a>\n\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\n *ngIf=\"menu.type === 'COLLAPSABLE'\"\n (click)=\"onMenuCollapsableSelected(menu); onMenuItemSelected(menu, false)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n <mat-icon *ngIf=\"(isOpened | async)\">\n chevron_right\n </mat-icon>\n </a>\n </div>\n </mat-nav-list>\n </div>\n\n <div class=\"sidenav-action-menu sidenav-bottom-menu\">\n <a [attr.id]=\"'integracoes'\"\n [attr.name]=\"'integracoes'\"\n *ngIf=\"showIntegration\"\n (click)=\"onMenuItemSelected(null); onClickMenuIntegration.emit()\">\n <mat-icon *ngIf=\"iconIntegration\">\n {{ iconIntegration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconIntegration\"\n [svgIcon]=\"svgIconIntegration\">\n </mat-icon>\n <span *ngIf=\"(labelIntegration) && (isOpened | async)\">\n {{ labelIntegration }}\n </span>\n <div class=\"tag-new\"\n [class.closed]=\"!(isOpened | async)\"\n *ngIf=\"showTagNewIntegration\">\n Novo\n </div>\n </a>\n\n <a [attr.id]=\"'configuracoes'\"\n [attr.name]=\"'configuracoes'\"\n *ngIf=\"showConfiguration\"\n (click)=\"onMenuItemSelected(null); onClickMenuConfiguration.emit()\">\n <mat-icon *ngIf=\"iconConfiguration\">\n {{ iconConfiguration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconConfiguration\"\n [svgIcon]=\"svgIconConfiguration\">\n </mat-icon>\n <span *ngIf=\"(labelConfiguration) && (isOpened | async)\">\n {{ labelConfiguration }}\n </span>\n </a>\n </div>\n</mat-sidenav>",
15936
+ template: "<mat-sidenav #sidenav\n class=\"sidenav\"\n opened=\"true\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\">\n\n <!-- <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-bottom': (showConfiguration || showIntegration)}\"> -->\n <div class=\"sidenav-content-menu\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button [attr.id]=\"'buttonToogleSidenav'\"\n [attr.name]=\"'buttonToogleSidenav'\"\n class=\"toggle-sidenav\"\n (click)=\"toggleSidenav(); _mouseEnter = false;\">\n <mat-icon [@indicatorRotate]=\"(isOpened | async) ? 'opened': 'closed'\">\n chevron_right\n </mat-icon>\n\n {{ ((labelToggle) && (isOpened | async)) ? labelToggle : '' }}\n </button>\n\n <!-- Bot\u00E3o voltar do submenu -->\n <div class=\"sidenav-action-menu sidenav-menu-collapsable\">\n <a [attr.id]=\"'buttonSubmenuBack'\"\n [attr.name]=\"'buttonSubmenuBack'\"\n *ngIf=\"(isOpened | async) && (_levelOneMenuCollapsableSelected || _levelTwoMenuCollapsableSelected)\"\n (click)=\"onMenuCollapsableGoBack()\"\n (mouseenter)=\"!_mouseEnter && onMouseEnter()\"\n (mouseleave)=\"_mouseEnter && onMouseLeave()\">\n <mat-icon>\n arrow_back\n </mat-icon>\n <span>\n {{ (submenuBackButtonName | async) }}\n </span>\n </a>\n </div>\n\n <!-- Se o menu item for do tipo submenu -->\n <mat-nav-list class=\"sidenav-menu-list\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidenav-action-menu\"\n *ngFor=\"let menu of (levelMenuSelected | async)\">\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuActive(menu)\"\n [routerLink]=\"menu.route\"\n *ngIf=\"menu.type === 'ITEM'\"\n (click)=\"onMenuItemSelected(menu)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n </a>\n\n <a [attr.id]=\"menu.id\"\n [attr.name]=\"menu.id\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\n *ngIf=\"menu.type === 'COLLAPSABLE'\"\n (click)=\"onMenuCollapsableSelected(menu); onMenuItemSelected(menu, false)\">\n <mat-icon *ngIf=\"menu.icon\">\n {{ menu.icon }}\n </mat-icon>\n <mat-icon *ngIf=\"menu.svgIcon\"\n [svgIcon]=\"menu.svgIcon\">\n </mat-icon>\n <span *ngIf=\"(isOpened | async)\">\n {{ getMenuName(menu.name) }}\n </span>\n <mat-icon *ngIf=\"(isOpened | async)\">\n chevron_right\n </mat-icon>\n </a>\n </div>\n </mat-nav-list>\n </div>\n\n <div class=\"sidenav-action-menu sidenav-bottom-menu\">\n <a [attr.id]=\"'integracoes'\"\n [attr.name]=\"'integracoes'\"\n *ngIf=\"showIntegration\"\n (click)=\"onMenuItemSelected(null); onClickMenuIntegration.emit()\">\n <mat-icon *ngIf=\"iconIntegration\">\n {{ iconIntegration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconIntegration\"\n [svgIcon]=\"svgIconIntegration\">\n </mat-icon>\n <span *ngIf=\"(labelIntegration) && (isOpened | async)\">\n {{ labelIntegration }}\n </span>\n <div class=\"tag-new\"\n [class.closed]=\"!(isOpened | async)\"\n *ngIf=\"showTagNewIntegration\">\n Novo\n </div>\n </a>\n\n <a [attr.id]=\"'configuracoes'\"\n [attr.name]=\"'configuracoes'\"\n *ngIf=\"showConfiguration\"\n (click)=\"onMenuItemSelected(null); onClickMenuConfiguration.emit()\">\n <mat-icon *ngIf=\"iconConfiguration\">\n {{ iconConfiguration }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIconConfiguration\"\n [svgIcon]=\"svgIconConfiguration\">\n </mat-icon>\n <span *ngIf=\"(labelConfiguration) && (isOpened | async)\">\n {{ labelConfiguration }}\n </span>\n </a>\n </div>\n</mat-sidenav>",
15797
15937
  encapsulation: ViewEncapsulation.None,
15798
15938
  providers: [
15799
15939
  {
@@ -15812,7 +15952,7 @@ GIPISidenavComponent = GIPISidenavComponent_1 = __decorate([
15812
15952
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
15813
15953
  ])
15814
15954
  ],
15815
- styles: [".sidenav{padding:.8rem 1.2rem;border-radius:5px;background-color:#fff;position:fixed!important;top:66px!important;bottom:8px!important;border:0!important}.sidenav.small-sidenav{overflow-y:auto;width:76px}.sidenav.small-sidenav .sidenav-bottom-menu,.sidenav.small-sidenav .sidenav-content-menu .sidenav-menu-list .action-sidenav,.sidenav.small-sidenav .sidenav-content-menu .toggle-sidenav{text-align:center!important}.sidenav.large-sidenav{overflow-y:auto;width:248px}.sidenav .sidenav-content-menu{width:100%;background-color:#f5f5f6;border-radius:4px;display:flex;flex-direction:column;align-items:stretch;height:100%}.sidenav .sidenav-content-menu.show-bottom{height:calc(100% - 18px - 104px)!important}.sidenav .sidenav-content-menu .toggle-sidenav{all:unset;border-radius:4px;border:none;text-align:left;cursor:pointer;background-color:#e0313e;color:#fff;display:flex;align-items:center;gap:8px;padding:10px 16px}.sidenav .sidenav-content-menu .toggle-sidenav>mat-icon{width:2rem;height:2rem;font-size:2rem}.sidenav .sidenav-content-menu .toggle-sidenav:hover{background-color:#cc2d38}.sidenav .sidenav-content-menu .sidenav-menu-list{overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.sidenav .sidenav-content-menu .sidenav-menu-list::-webkit-scrollbar{display:none}.menu-active{color:#e0313e!important;background-color:#e0e1e2!important}.menu-active>mat-icon,.menu-active>mat-icon svg,.menu-active>mat-icon svg path{color:#e0313e!important;fill:#e0313e!important}.sidenav-action-menu{cursor:pointer;display:flex}.sidenav-action-menu.sidenav-bottom-menu{flex-direction:column;gap:1rem;margin-top:1rem}.sidenav-action-menu a{flex:1;padding:16px;background-color:#f5f5f6;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1.4rem;font-weight:600;position:relative;overflow:hidden}.sidenav-action-menu a:hover{background-color:#e0e1e2}.sidenav-action-menu a>span{flex:1;line-height:2rem}.sidenav-action-menu a>mat-icon{width:2rem;height:2rem;font-size:2rem;line-height:2rem;color:#595959;fill:#595959}.sidenav-action-menu a>mat-icon svg,.sidenav-action-menu a>mat-icon svg path{color:#595959;fill:#595959}.sidenav-bottom-menu a{border-radius:4px}.sidenav-menu-collapsable a{background-color:#e0e1e2}.sidenav-menu-collapsable a:hover{background-color:#d1d2d4}.mat-list-base{padding-top:0!important}.mat-drawer-inner-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;overflow:hidden!important}.mat-drawer:not(.mat-drawer-side){box-shadow:none!important}.tag-new{display:flex;align-items:center;justify-content:center;background-color:#e0313e;color:#fff;padding:.2rem .6rem;font-size:1rem;line-height:1rem;border-radius:.4rem}.tag-new.closed{position:absolute;top:15px;right:20px;width:52px;z-index:1;transform:translateX(70%) translateY(-85%) rotate(45deg);transform-origin:center;overflow:hidden;font-size:.8rem!important;line-height:.8rem!important}"]
15955
+ styles: [".sidenav{padding:.8rem 1.2rem;border-radius:5px;background-color:#fff;position:fixed!important;top:66px!important;bottom:8px!important;border:0!important}.sidenav.small-sidenav{overflow-y:auto;width:76px}.sidenav.small-sidenav .sidenav-bottom-menu,.sidenav.small-sidenav .sidenav-content-menu .sidenav-menu-list .action-sidenav,.sidenav.small-sidenav .sidenav-content-menu .toggle-sidenav{text-align:center!important}.sidenav.large-sidenav{overflow-y:auto;width:248px}.sidenav .sidenav-content-menu{width:100%;background-color:#f5f5f6;border-radius:4px;display:flex;flex-direction:column;align-items:stretch;height:100%;flex:1}.sidenav .sidenav-content-menu .toggle-sidenav{all:unset;border-radius:4px;border:none;text-align:left;cursor:pointer;background-color:#e0313e;color:#fff;display:flex;align-items:center;gap:8px;padding:10px 16px}.sidenav .sidenav-content-menu .toggle-sidenav>mat-icon{width:2rem;height:2rem;font-size:2rem}.sidenav .sidenav-content-menu .toggle-sidenav:hover{background-color:#cc2d38}.sidenav .sidenav-content-menu .sidenav-menu-list{overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.sidenav .sidenav-content-menu .sidenav-menu-list::-webkit-scrollbar{display:none}.menu-active{color:#e0313e!important;background-color:#e0e1e2!important}.menu-active>mat-icon,.menu-active>mat-icon svg,.menu-active>mat-icon svg path{color:#e0313e!important;fill:#e0313e!important}.sidenav-action-menu{cursor:pointer;display:flex}.sidenav-action-menu.sidenav-bottom-menu{flex-direction:column;gap:1rem;margin-top:1rem}.sidenav-action-menu a{flex:1;padding:16px;background-color:#f5f5f6;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1.4rem;font-weight:600;position:relative;overflow:hidden}.sidenav-action-menu a:hover{background-color:#e0e1e2}.sidenav-action-menu a>span{flex:1;line-height:2rem}.sidenav-action-menu a>mat-icon{width:2rem;height:2rem;font-size:2rem;line-height:2rem;color:#595959;fill:#595959}.sidenav-action-menu a>mat-icon svg,.sidenav-action-menu a>mat-icon svg path{color:#595959;fill:#595959}.sidenav-bottom-menu a{border-radius:4px}.sidenav-menu-collapsable a{background-color:#e0e1e2}.sidenav-menu-collapsable a:hover{background-color:#d1d2d4}.mat-list-base{padding-top:0!important}.mat-drawer-inner-container{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;overflow:hidden!important}.mat-drawer:not(.mat-drawer-side){box-shadow:none!important}.tag-new{display:flex;align-items:center;justify-content:center;background-color:#e0313e;color:#fff;padding:.2rem .6rem;font-size:1rem;line-height:1rem;border-radius:.4rem}.tag-new.closed{position:absolute;top:15px;right:20px;width:52px;z-index:1;transform:translateX(70%) translateY(-85%) rotate(45deg);transform-origin:center;overflow:hidden;font-size:.8rem!important;line-height:.8rem!important}"]
15816
15956
  }),
15817
15957
  __metadata("design:paramtypes", [NavService,
15818
15958
  BreakpointObserverService,
@@ -15927,309 +16067,545 @@ GIPISlideToggleComponent = GIPISlideToggleComponent_1 = __decorate([
15927
16067
  __metadata("design:paramtypes", [ChangeDetectorRef])
15928
16068
  ], GIPISlideToggleComponent);
15929
16069
 
15930
- var GIPIStepperComponent_1;
15931
- let GIPIStepperComponent = GIPIStepperComponent_1 = class GIPIStepperComponent extends CdkStepper {
15932
- ngOnInit() { }
15933
- onClick(index) {
15934
- this.selectedIndex = index;
15935
- }
15936
- };
15937
- __decorate([
15938
- Input(),
15939
- __metadata("design:type", String)
15940
- ], GIPIStepperComponent.prototype, "id", void 0);
15941
- __decorate([
15942
- Input(),
15943
- __metadata("design:type", String)
15944
- ], GIPIStepperComponent.prototype, "name", void 0);
15945
- GIPIStepperComponent = GIPIStepperComponent_1 = __decorate([
15946
- Component({
15947
- selector: `gipi-stepper`,
15948
- exportAs: 'gipiStepper',
15949
- template: "<div class=\"stepper-content\">\n <div *ngFor=\"let step of steps; let i = index;\"\n class=\"step-content\">\n\n <button disabled=\"true\"\n (click)=\"onClick(i)\">\n <span class=\"step-icon\"\n [class.active]=\"selectedIndex === i\"\n [class.completed]=\"step.completed\">\n\n {{ step.completed ? '' : i + 1 }}\n\n <mat-icon *ngIf=\"step.completed\">\n check\n </mat-icon>\n </span>\n\n <span class=\"step-text\">\n {{ step.label }}\n </span>\n </button>\n\n <div *ngIf=\"i !== steps.length - 1\"\n class=\"step-horizontal-line\"\n [class.completed]=\"step.completed\">\n </div>\n </div>\n</div>\n\n<div [style.display]=\"selected ? 'block' : 'none'\"\n class=\"stepper-container\">\n <ng-container [ngTemplateOutlet]=\"selected.content\"> </ng-container>\n</div>\n",
15950
- providers: [
15951
- {
15952
- provide: CdkStepper,
15953
- useExisting: GIPIStepperComponent_1,
15954
- }
15955
- ],
15956
- host: {
15957
- 'class': 'gipi-stepper',
15958
- },
15959
- styles: [".stepper-content{width:100%;padding:16px;max-width:1366px;position:relative;overflow:hidden;display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0 auto}.stepper-container{flex:1}.stepper-content .step-content{display:flex;flex-direction:row;align-items:center}.stepper-content .step-content>button{display:flex;flex-direction:column;align-items:center;gap:8px;outline:0;border:none;background-color:transparent}.stepper-content .step-content>button .step-icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;font-size:1.4rem;border:2px solid #e0e1e2;border-radius:50%;color:#8c8f93;font-weight:600}.stepper-content .step-content>button .step-text{font-size:1.4rem;line-height:100%;color:#8c8f93}.step-horizontal-line{height:2px;border-radius:4px;min-width:5rem;max-width:10rem;background-color:#e0e1e2;border:none;position:relative;top:-10px;margin:0 16px}.active{border-color:#e0313e!important;color:#e0313e!important}.completed{background-color:#e0313e!important;border-color:#e0313e!important;color:#fff!important}"]
15960
- })
15961
- ], GIPIStepperComponent);
15962
-
15963
- var GIPITableBodyComponent_1;
15964
- let GIPITableBodyComponent = GIPITableBodyComponent_1 = class GIPITableBodyComponent {
15965
- constructor(_changeDetectorRef) {
15966
- this._changeDetectorRef = _changeDetectorRef;
15967
- this._rowsExpanded = [];
15968
- this.loading = false;
15969
- this.loadingDetail = false;
16070
+ var GIPISplitButtonComponent_1;
16071
+ let nextUniqueId$i = 0;
16072
+ let GIPISplitButtonComponent = GIPISplitButtonComponent_1 = class GIPISplitButtonComponent {
16073
+ constructor(elementRef) {
16074
+ this.elementRef = elementRef;
16075
+ this._uniqueId = nextUniqueId$i++;
16076
+ this._name = `gipi-split-button-${this._uniqueId}`;
16077
+ this.idBtnDefault = `gipi-split-button-default-${this._uniqueId}`;
16078
+ this.idBtnMenu = `gipi-split-button-menu-${this._uniqueId}`;
16079
+ this.isSplitButtonPrimary = this._hasHostAttributes('gipi-primary');
16080
+ this.isSplitButtonSecondary = this._hasHostAttributes('gipi-secondary');
16081
+ this.isSplitButtonTertiary = this._hasHostAttributes('gipi-tertiary');
16082
+ this.isSplitButtonAction = this._hasHostAttributes('gipi-action');
16083
+ this.id = this._name;
16084
+ this.name = this._name;
16085
+ this.type = 'button';
16086
+ this.ariaLabel = '';
16087
+ this.title = '';
16088
+ this.label = '';
15970
16089
  this.disabled = false;
15971
- this.clickOnRow = false;
15972
- this.expandable = false;
15973
- this.expandOnlyOneRow = false;
15974
- this.columns = [];
15975
- this.trackBy = 'id';
15976
- this.rowsExpandedChange = new EventEmitter();
15977
- this.rowDetailToggleChange = new EventEmitter();
15978
- }
15979
- set rows(val) {
15980
- this._rows = val;
15981
- }
15982
- get rows() {
15983
- return this._rows;
16090
+ this.loading = false;
16091
+ this.tooltip = '';
16092
+ this.splitOptions = [];
16093
+ this.onOpenPopover = new EventEmitter();
16094
+ this.onClosePopover = new EventEmitter();
16095
+ this.onClick = new EventEmitter(true);
16096
+ this.onFocus = new EventEmitter(true);
16097
+ this.onBlur = new EventEmitter(true);
15984
16098
  }
15985
16099
  ngOnInit() { }
15986
- columnTrackingFn(index, column) {
15987
- return column.property;
16100
+ ngOnDestroy() {
16101
+ if (this.popoverTrigger) {
16102
+ this.popoverTrigger.destroyPopover();
16103
+ }
15988
16104
  }
15989
- rowTrackingFn(index, row) {
15990
- return row[this.trackBy];
16105
+ getHostElement() {
16106
+ return this.elementRef.nativeElement;
15991
16107
  }
15992
- getShowHighlightRow(row) {
15993
- if (ObjectUtil.isNull(row) || ObjectUtil.isNull(this.highlightRowFn)) {
15994
- return false;
15995
- }
15996
- return this.highlightRowFn(row);
16108
+ _hasHostAttributes(...attributes) {
16109
+ return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));
15997
16110
  }
15998
- getIdentifierRow(index) {
15999
- return `row-${index}`;
16111
+ btnIdAndName() {
16112
+ const uniqueId = nextUniqueId$i++;
16113
+ return {
16114
+ btnDefault: `gipi-split-button-default-${uniqueId}`,
16115
+ btnMenu: `gipi-split-button-menu-${uniqueId}`,
16116
+ };
16000
16117
  }
16001
- getShowExpandable(row) {
16002
- if (!ObjectUtil.isNull(this.rowExpandableFn)) {
16003
- return this.expandable && this.rowExpandableFn(row);
16118
+ getInternalButtonClass(isBtnDefault) {
16119
+ return {
16120
+ 'button-default': isBtnDefault,
16121
+ 'button-menu': !isBtnDefault,
16122
+ 'button-primary': this.isSplitButtonPrimary,
16123
+ 'button-secondary': this.isSplitButtonSecondary,
16124
+ 'button-tertiary': this.isSplitButtonTertiary,
16125
+ 'button-action': this.isSplitButtonAction,
16126
+ };
16127
+ }
16128
+ showPopover() {
16129
+ if (this.disabled || this.loading) {
16130
+ return;
16004
16131
  }
16005
16132
  else {
16006
- return this.expandable;
16133
+ this.popoverTrigger.openPopover();
16007
16134
  }
16008
16135
  }
16009
- getColumnValue(row, column) {
16010
- let value = '';
16011
- if (!this.rows || !this.columns) {
16012
- value = '';
16136
+ closePopover() {
16137
+ if (this.disabled || this.loading) {
16138
+ return;
16013
16139
  }
16014
16140
  else {
16015
- let val = column.value;
16016
- if (typeof column.value === 'function') {
16017
- val = column.value(row);
16018
- }
16019
- const userPipe = column.pipe;
16020
- if (userPipe) {
16021
- value = userPipe.transform(val);
16022
- }
16023
- else if (value !== undefined) {
16024
- value = val;
16025
- }
16141
+ this.popoverTrigger.closePopover();
16026
16142
  }
16027
- return value;
16028
16143
  }
16029
- getRowExpanded(row) {
16030
- if (ArrayUtil.isEmpty(this._rowsExpanded)) {
16031
- return false;
16144
+ handleClick(event) {
16145
+ if (this.disabled || this.loading) {
16146
+ return;
16147
+ }
16148
+ else {
16149
+ this.onClick.emit(event);
16150
+ this.closePopover();
16151
+ event.stopPropagation();
16032
16152
  }
16033
- return this._rowsExpanded.includes(row);
16034
16153
  }
16035
- onRowExpandedChange(row) {
16036
- if (!this.getShowExpandable(row)) {
16154
+ handleFocus(event) {
16155
+ if (this.disabled || this.loading) {
16037
16156
  return;
16038
16157
  }
16039
- if (this.expandOnlyOneRow) {
16040
- if (!ArrayUtil.isEmpty(this._rowsExpanded)) {
16041
- if (this.getRowExpanded(row)) {
16042
- this._rowsExpanded.splice(0, this._rowsExpanded.length);
16043
- }
16044
- else {
16045
- this._rowsExpanded.splice(0, this._rowsExpanded.length, row);
16046
- }
16047
- }
16048
- else {
16049
- this._rowsExpanded.push(row);
16050
- }
16158
+ else {
16159
+ this.onFocus.emit(event);
16160
+ event.stopPropagation();
16161
+ }
16162
+ }
16163
+ handleBlur(event) {
16164
+ if (this.disabled || this.loading) {
16165
+ return;
16051
16166
  }
16052
16167
  else {
16053
- if (this.getRowExpanded(row)) {
16054
- const index = this._rowsExpanded.findIndex(r => r === row);
16055
- this._rowsExpanded.splice(index, 1);
16056
- }
16057
- else {
16058
- this._rowsExpanded.push(row);
16168
+ this.onBlur.emit(event);
16169
+ event.stopPropagation();
16170
+ }
16171
+ }
16172
+ handleClickBtnMenu(event) {
16173
+ if (this.disabled || this.loading) {
16174
+ return;
16175
+ }
16176
+ else {
16177
+ if (!ObjectUtil.isNull(this.popoverTrigger)) {
16178
+ this.popoverTrigger.togglePopover();
16059
16179
  }
16180
+ event.stopPropagation();
16060
16181
  }
16061
- this.rowsExpandedChange.emit(this._rowsExpanded);
16062
- this.rowDetailToggleChange.emit({ row: row, isExpanded: this.getRowExpanded(row) });
16063
- this._changeDetectorRef.detectChanges();
16064
16182
  }
16065
- onClickCell(row, column) {
16066
- if (!ObjectUtil.isNull(column.action)) {
16067
- column.action(row);
16183
+ handleClickBtnSplitOption(option) {
16184
+ if (this.disabled || this.loading || !option || option.disabled || !option.clickFn) {
16185
+ return;
16186
+ }
16187
+ else {
16188
+ option.clickFn();
16189
+ this.closePopover();
16190
+ }
16191
+ }
16192
+ onResize(event) {
16193
+ if (this.popoverTrigger) {
16194
+ this.popoverTrigger.closePopover();
16195
+ event.stopPropagation();
16068
16196
  }
16069
16197
  }
16070
16198
  };
16071
- GIPITableBodyComponent.ctorParameters = () => [
16072
- { type: ChangeDetectorRef }
16199
+ GIPISplitButtonComponent.ctorParameters = () => [
16200
+ { type: ElementRef }
16073
16201
  ];
16074
16202
  __decorate([
16075
- Input(),
16076
- __metadata("design:type", Boolean)
16077
- ], GIPITableBodyComponent.prototype, "loading", void 0);
16203
+ ViewChild(GIPIPopoverTrigger, { static: false }),
16204
+ __metadata("design:type", GIPIPopoverTrigger)
16205
+ ], GIPISplitButtonComponent.prototype, "popoverTrigger", void 0);
16078
16206
  __decorate([
16079
16207
  Input(),
16080
- __metadata("design:type", Boolean)
16081
- ], GIPITableBodyComponent.prototype, "loadingDetail", void 0);
16208
+ __metadata("design:type", String)
16209
+ ], GIPISplitButtonComponent.prototype, "id", void 0);
16082
16210
  __decorate([
16083
16211
  Input(),
16084
- __metadata("design:type", Boolean)
16085
- ], GIPITableBodyComponent.prototype, "disabled", void 0);
16212
+ __metadata("design:type", String)
16213
+ ], GIPISplitButtonComponent.prototype, "name", void 0);
16086
16214
  __decorate([
16087
16215
  Input(),
16088
- __metadata("design:type", Boolean)
16089
- ], GIPITableBodyComponent.prototype, "clickOnRow", void 0);
16216
+ __metadata("design:type", String)
16217
+ ], GIPISplitButtonComponent.prototype, "type", void 0);
16090
16218
  __decorate([
16091
16219
  Input(),
16092
- __metadata("design:type", Boolean)
16093
- ], GIPITableBodyComponent.prototype, "expandable", void 0);
16220
+ __metadata("design:type", String)
16221
+ ], GIPISplitButtonComponent.prototype, "ariaLabel", void 0);
16094
16222
  __decorate([
16095
16223
  Input(),
16096
- __metadata("design:type", Boolean)
16097
- ], GIPITableBodyComponent.prototype, "expandOnlyOneRow", void 0);
16224
+ __metadata("design:type", String)
16225
+ ], GIPISplitButtonComponent.prototype, "title", void 0);
16098
16226
  __decorate([
16099
16227
  Input(),
16100
- __metadata("design:type", Function)
16101
- ], GIPITableBodyComponent.prototype, "rowExpandableFn", void 0);
16228
+ __metadata("design:type", String)
16229
+ ], GIPISplitButtonComponent.prototype, "label", void 0);
16102
16230
  __decorate([
16103
16231
  Input(),
16104
- __metadata("design:type", Function)
16105
- ], GIPITableBodyComponent.prototype, "highlightRowFn", void 0);
16232
+ __metadata("design:type", String)
16233
+ ], GIPISplitButtonComponent.prototype, "buttonClass", void 0);
16106
16234
  __decorate([
16107
16235
  Input(),
16108
- __metadata("design:type", Array)
16109
- ], GIPITableBodyComponent.prototype, "columns", void 0);
16236
+ __metadata("design:type", Boolean)
16237
+ ], GIPISplitButtonComponent.prototype, "disabled", void 0);
16110
16238
  __decorate([
16111
16239
  Input(),
16112
- __metadata("design:type", String)
16113
- ], GIPITableBodyComponent.prototype, "trackBy", void 0);
16240
+ __metadata("design:type", Boolean)
16241
+ ], GIPISplitButtonComponent.prototype, "loading", void 0);
16114
16242
  __decorate([
16115
16243
  Input(),
16116
- __metadata("design:type", TemplateRef)
16117
- ], GIPITableBodyComponent.prototype, "rowDetailRef", void 0);
16244
+ __metadata("design:type", String)
16245
+ ], GIPISplitButtonComponent.prototype, "tooltip", void 0);
16118
16246
  __decorate([
16119
- Input(),
16120
- __metadata("design:type", Array),
16121
- __metadata("design:paramtypes", [Array])
16122
- ], GIPITableBodyComponent.prototype, "rows", null);
16247
+ Input('options'),
16248
+ __metadata("design:type", Array)
16249
+ ], GIPISplitButtonComponent.prototype, "splitOptions", void 0);
16123
16250
  __decorate([
16124
16251
  Output(),
16125
16252
  __metadata("design:type", EventEmitter)
16126
- ], GIPITableBodyComponent.prototype, "rowsExpandedChange", void 0);
16253
+ ], GIPISplitButtonComponent.prototype, "onOpenPopover", void 0);
16127
16254
  __decorate([
16128
16255
  Output(),
16129
16256
  __metadata("design:type", EventEmitter)
16130
- ], GIPITableBodyComponent.prototype, "rowDetailToggleChange", void 0);
16131
- GIPITableBodyComponent = GIPITableBodyComponent_1 = __decorate([
16257
+ ], GIPISplitButtonComponent.prototype, "onClosePopover", void 0);
16258
+ __decorate([
16259
+ Output('click'),
16260
+ __metadata("design:type", EventEmitter)
16261
+ ], GIPISplitButtonComponent.prototype, "onClick", void 0);
16262
+ __decorate([
16263
+ Output('focus'),
16264
+ __metadata("design:type", EventEmitter)
16265
+ ], GIPISplitButtonComponent.prototype, "onFocus", void 0);
16266
+ __decorate([
16267
+ Output('blur'),
16268
+ __metadata("design:type", EventEmitter)
16269
+ ], GIPISplitButtonComponent.prototype, "onBlur", void 0);
16270
+ __decorate([
16271
+ HostListener('window:resize', ['$event']),
16272
+ __metadata("design:type", Function),
16273
+ __metadata("design:paramtypes", [UIEvent]),
16274
+ __metadata("design:returntype", void 0)
16275
+ ], GIPISplitButtonComponent.prototype, "onResize", null);
16276
+ GIPISplitButtonComponent = GIPISplitButtonComponent_1 = __decorate([
16132
16277
  Component({
16133
- selector: `gipi-table-body`,
16134
- exportAs: 'gipiTableBody',
16135
- template: "<gipi-table-progress-bar *ngIf=\"loading\"> </gipi-table-progress-bar>\n\n<div class=\"table-body-content\"\n role=\"rowgroup\"\n #contentBody>\n\n <div *ngFor=\"let row of rows; trackBy: rowTrackingFn; let i = index;\"\n gipi-row\n role=\"row\"\n class=\"table-body-row\"\n [attr.id]=\"getIdentifierRow(i)\"\n [class.highlight]=\"getShowHighlightRow(row)\"\n (click)=\"clickOnRow ? onRowExpandedChange(row) : null\">\n\n <div *ngIf=\"getShowExpandable(row)\"\n role=\"cell\"\n class=\"table-body-cell-expandable noselect\"\n (click)=\"!clickOnRow ? onRowExpandedChange(row) : null\">\n <mat-icon>\n {{ getRowExpanded(row) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </div>\n\n <div *ngFor=\"let column of columns; trackBy: columnTrackingFn; let i = index;\"\n class=\"table-body-row-cell noselect\"\n role=\"cell\"\n gipi-col\n [GIPISpan]=\"column.columnSpan\"\n [attr.id]=\"column.property\"\n [style.align-items]=\"'center'\"\n [style.padding-inline.px]=\"column.paddingInline\"\n [style.justify-content]=\"column.align\"\n [style.cursor]=\"expandable && clickOnRow ? 'pointer' : 'default'\"\n (click)=\"onClickCell(row, column)\">\n <span class=\"table-row-label\"\n *ngIf=\"row\">\n {{ getColumnValue(row, column) }}\n </span>\n </div>\n\n <div *ngIf=\"rowDetailRef\"\n class=\"table-body-row-detail\"\n [@detailExpand]=\"getRowExpanded(row) ? 'expanded' : 'collapsed'\"\n role=\"row\"\n gipi-col\n [GIPISpan]=\"12\"\n (click)=\"$event.stopPropagation()\">\n <gipi-table-progress-bar *ngIf=\"loadingDetail\"> </gipi-table-progress-bar>\n\n <ng-template *ngIf=\"!loadingDetail\"\n [ngTemplateOutlet]=\"rowDetailRef\"\n [ngTemplateOutletContext]=\"{$implicit: row}\">\n </ng-template>\n </div>\n\n </div>\n\n <div *ngIf=\"!loading && (rows && (rows.length <= 0))\"\n class=\"no-records\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n <span>Nenhum registro foi encontrado</span>\n </div>\n\n</div>",
16278
+ selector: `gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],
16279
+ gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]`,
16280
+ exportAs: 'gipiSplitButton',
16281
+ template: "<div [matTooltip]=\"tooltip\"\n [class]=\"buttonClass || ''\"\n [class.button-base]=\"true\"\n [class.disabled]=\"disabled || loading\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\">\n <button [attr.id]=\"idBtnDefault\"\n [attr.name]=\"idBtnDefault\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(true)\"\n role=\"button\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n {{ label ? label : '' }}\n </button>\n <button [attr.id]=\"idBtnMenu\"\n [attr.name]=\"idBtnMenu\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(false)\"\n role=\"button\"\n (click)=\"handleClickBtnMenu($event)\">\n <mat-icon [@indicatorRotate]=\"popoverTrigger?.popoverOpen ? 'opened': 'closed'\"> expand_more </mat-icon>\n </button>\n</div>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"btn-popover-content\">\n <button class=\"btn-split-option\"\n *ngFor=\"let option of splitOptions\"\n [disabled]=\"option?.disabled\"\n (click)=\"handleClickBtnSplitOption(option)\">\n {{ option.label }}\n </button>\n </div>\n</gipi-popover>",
16136
16282
  providers: [
16137
16283
  {
16138
16284
  provide: NG_VALUE_ACCESSOR,
16139
- useExisting: forwardRef(() => GIPITableBodyComponent_1),
16285
+ useExisting: forwardRef(() => GIPISplitButtonComponent_1),
16140
16286
  multi: true
16141
16287
  }
16142
16288
  ],
16143
16289
  host: {
16144
- 'class': 'gipi-table-body',
16290
+ 'class': 'gipi-split-button',
16291
+ '[attr.id]': 'id',
16292
+ '[attr.name]': 'name',
16145
16293
  },
16146
16294
  animations: [
16147
- trigger('detailExpand', [
16148
- state('collapsed', style({ height: '0px', minHeight: '0', display: 'none' })),
16149
- state('expanded', style({ height: '*' })),
16150
- transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
16151
- ]),
16295
+ trigger('indicatorRotate', [
16296
+ state('closed', style({ transform: 'rotate(0deg)' })),
16297
+ state('opened', style({ transform: 'rotate(-180deg)' })),
16298
+ transition('opened <=> closed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
16299
+ ])
16152
16300
  ],
16153
- changeDetection: ChangeDetectionStrategy.OnPush,
16154
- styles: [".table-body-row{color:#131313;position:relative;background-color:inherit}.table-body-row.highlight{background-color:#fbf6e6}.table-body-row:not(:last-child){border-bottom:1px solid #e0e1e2}.table-body-row:hover .table-body-row-cell{background-color:#f5f5f6}.table-body-cell-expandable{width:1.6rem;height:1.6rem;background-color:#f5f5f6;border-radius:50%;z-index:1;position:absolute;text-align:center;left:3.8rem;margin:24px 0;cursor:pointer}.table-body-cell-expandable:hover{background-color:#e0e1e2}.table-body-cell-expandable>mat-icon{width:1.6rem;height:1.6rem;font-size:1.6rem}.table-body-row-cell{padding:24px 0;font-weight:400;font-size:1.4rem;line-height:100%;display:flex}.table-body-row-detail{width:100%;min-height:10rem;max-height:90rem;overflow-x:hidden;overflow-y:auto;background-color:#fff}.no-records{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:1.4rem;font-weight:600;color:#131313;padding:24px 0;box-shadow:inset 0 5px 13px -5px rgba(0,0,0,.1)}.no-records>mat-icon{font-size:3.2rem;height:3.2rem;width:3.2rem;margin-bottom:5px}"]
16301
+ styles: [".button-base{display:flex;flex-direction:row;justify-content:center;border-radius:4px;font-weight:600;font-size:1.4rem;line-height:1.6rem;cursor:pointer;outline:0;white-space:nowrap;text-decoration:none;vertical-align:middle;text-align:center;box-shadow:1px 1px 5px 0 rgba(0,0,0,.1);transition:.2s;width:100%;max-height:4rem;border:1px solid transparent;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button-base.disabled{cursor:not-allowed!important;box-shadow:none}.button-base>button{display:flex;align-items:center;justify-content:center;border:none;outline:0;box-shadow:none;width:100%;height:40px;padding:12px 16px;overflow:hidden;border-radius:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}.button-base>button:not(.disabled):active{opacity:.8}.button-base .button-default{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.button-base .button-menu{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.button-primary:not(:disabled),.button-primary:not(:disabled)>mat-icon{background-color:#e0313e;color:#fff;fill:#fff}.button-primary:not(:disabled).button-default,.button-primary:not(:disabled)>mat-icon.button-default{border-right:1px solid #9f232c}.button-primary:not(:disabled) svg,.button-primary:not(:disabled) svg g path,.button-primary:not(:disabled) svg path,.button-primary:not(:disabled)>mat-icon svg,.button-primary:not(:disabled)>mat-icon svg g path,.button-primary:not(:disabled)>mat-icon svg path{color:#fff;fill:#fff}.button-primary:disabled,.button-primary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-primary:disabled.button-default,.button-primary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-primary:disabled svg,.button-primary:disabled svg g path,.button-primary:disabled svg path,.button-primary:disabled>mat-icon svg,.button-primary:disabled>mat-icon svg g path,.button-primary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-primary:not(:disabled):hover,.button-primary:not(:disabled):hover>mat-icon{background-color:#cc2d38;color:#fff;fill:#fff}.button-primary:not(:disabled):hover svg,.button-primary:not(:disabled):hover svg g path,.button-primary:not(:disabled):hover svg path,.button-primary:not(:disabled):hover>mat-icon svg,.button-primary:not(:disabled):hover>mat-icon svg g path,.button-primary:not(:disabled):hover>mat-icon svg path{color:#fff;fill:#fff}.button-secondary{background-color:transparent}.button-secondary:not(:disabled),.button-secondary:not(:disabled)>mat-icon{border-color:#595959;color:#595959;fill:#595959}.button-secondary:not(:disabled).button-default,.button-secondary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-secondary:not(:disabled) svg,.button-secondary:not(:disabled) svg g path,.button-secondary:not(:disabled) svg path,.button-secondary:not(:disabled)>mat-icon svg,.button-secondary:not(:disabled)>mat-icon svg g path,.button-secondary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-secondary:disabled,.button-secondary:disabled>mat-icon{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-secondary:disabled.button-default,.button-secondary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-secondary:disabled svg,.button-secondary:disabled svg g path,.button-secondary:disabled svg path,.button-secondary:disabled>mat-icon svg,.button-secondary:disabled>mat-icon svg g path,.button-secondary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-secondary:not(:disabled):hover,.button-secondary:not(:disabled):hover>mat-icon{border-color:#595959;background-color:#e0e1e2;color:#595959;fill:#595959}.button-secondary:not(:disabled):hover svg,.button-secondary:not(:disabled):hover svg g path,.button-secondary:not(:disabled):hover svg path,.button-secondary:not(:disabled):hover>mat-icon svg,.button-secondary:not(:disabled):hover>mat-icon svg g path,.button-secondary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary{background-color:#e7ebee;box-shadow:none}.button-tertiary:not(:disabled),.button-tertiary:not(:disabled)>mat-icon{color:#595959;fill:#595959}.button-tertiary:not(:disabled).button-default,.button-tertiary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-tertiary:not(:disabled) svg,.button-tertiary:not(:disabled) svg g path,.button-tertiary:not(:disabled) svg path,.button-tertiary:not(:disabled)>mat-icon svg,.button-tertiary:not(:disabled)>mat-icon svg g path,.button-tertiary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary:disabled,.button-tertiary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-tertiary:disabled.button-default,.button-tertiary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-tertiary:disabled svg,.button-tertiary:disabled svg g path,.button-tertiary:disabled svg path,.button-tertiary:disabled>mat-icon svg,.button-tertiary:disabled>mat-icon svg g path,.button-tertiary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-tertiary:not(:disabled):hover,.button-tertiary:not(:disabled):hover>mat-icon{background-color:#e0e1e2;color:#595959;fill:#595959}.button-tertiary:not(:disabled):hover svg,.button-tertiary:not(:disabled):hover svg g path,.button-tertiary:not(:disabled):hover svg path,.button-tertiary:not(:disabled):hover>mat-icon svg,.button-tertiary:not(:disabled):hover>mat-icon svg g path,.button-tertiary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-action{background-color:transparent;box-shadow:none;display:flex;justify-content:flex-start!important}.button-action:not(:disabled),.button-action:not(:disabled)>mat-icon{color:#262626;fill:#262626}.button-action:not(:disabled).button-default,.button-action:not(:disabled)>mat-icon.button-default{border-right:1px solid #262626}.button-action:not(:disabled) svg,.button-action:not(:disabled) svg g path,.button-action:not(:disabled) svg path,.button-action:not(:disabled)>mat-icon svg,.button-action:not(:disabled)>mat-icon svg g path,.button-action:not(:disabled)>mat-icon svg path{color:#262626;fill:#262626}.button-action:disabled,.button-action:disabled>mat-icon{color:#9a9da2;fill:#9a9da2}.button-action:disabled.button-default,.button-action:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-action:disabled svg,.button-action:disabled svg g path,.button-action:disabled svg path,.button-action:disabled>mat-icon svg,.button-action:disabled>mat-icon svg g path,.button-action:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-action:not(:disabled):hover,.button-action:not(:disabled):hover>mat-icon{background-color:#f5f5f6;color:#262626;fill:#262626}.button-action:not(:disabled):hover svg,.button-action:not(:disabled):hover svg g path,.button-action:not(:disabled):hover svg path,.button-action:not(:disabled):hover>mat-icon svg,.button-action:not(:disabled):hover>mat-icon svg g path,.button-action:not(:disabled):hover>mat-icon svg path{color:#262626;fill:#262626}.disabled,:disabled{pointer-events:none!important}.btn-popover-content{display:flex;flex-direction:column;gap:.8rem;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}.btn-split-option{width:100%;padding:.8rem;border-radius:.4rem;border:1px solid transparent;text-align:left;outline:0;background-color:transparent;cursor:pointer}.btn-split-option:not(:disabled){color:#595959}.btn-split-option:disabled{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;cursor:not-allowed}.btn-split-option:not(:disabled):hover{border-color:#595959;background-color:#e0e1e2;color:#595959}"]
16155
16302
  }),
16156
- __metadata("design:paramtypes", [ChangeDetectorRef])
16157
- ], GIPITableBodyComponent);
16303
+ __metadata("design:paramtypes", [ElementRef])
16304
+ ], GIPISplitButtonComponent);
16158
16305
 
16159
- var GIPITableFooterComponent_1;
16160
- let GIPITableFooterComponent = GIPITableFooterComponent_1 = class GIPITableFooterComponent {
16161
- constructor() { }
16306
+ var GIPIStepperComponent_1;
16307
+ let GIPIStepperComponent = GIPIStepperComponent_1 = class GIPIStepperComponent extends CdkStepper {
16162
16308
  ngOnInit() { }
16309
+ onClick(index) {
16310
+ this.selectedIndex = index;
16311
+ }
16163
16312
  };
16164
- GIPITableFooterComponent = GIPITableFooterComponent_1 = __decorate([
16313
+ __decorate([
16314
+ Input(),
16315
+ __metadata("design:type", String)
16316
+ ], GIPIStepperComponent.prototype, "id", void 0);
16317
+ __decorate([
16318
+ Input(),
16319
+ __metadata("design:type", String)
16320
+ ], GIPIStepperComponent.prototype, "name", void 0);
16321
+ GIPIStepperComponent = GIPIStepperComponent_1 = __decorate([
16165
16322
  Component({
16166
- selector: `gipi-table-footer`,
16167
- exportAs: 'gipiTableFooter',
16168
- template: "<p>\n table-footer works!\n</p>\n",
16323
+ selector: `gipi-stepper`,
16324
+ exportAs: 'gipiStepper',
16325
+ template: "<div class=\"stepper-content\">\n <div *ngFor=\"let step of steps; let i = index;\"\n class=\"step-content\">\n\n <button disabled=\"true\"\n (click)=\"onClick(i)\">\n <span class=\"step-icon\"\n [class.active]=\"selectedIndex === i\"\n [class.completed]=\"step.completed\">\n\n {{ step.completed ? '' : i + 1 }}\n\n <mat-icon *ngIf=\"step.completed\">\n check\n </mat-icon>\n </span>\n\n <span class=\"step-text\">\n {{ step.label }}\n </span>\n </button>\n\n <div *ngIf=\"i !== steps.length - 1\"\n class=\"step-horizontal-line\"\n [class.completed]=\"step.completed\">\n </div>\n </div>\n</div>\n\n<div [style.display]=\"selected ? 'block' : 'none'\"\n class=\"stepper-container\">\n <ng-container [ngTemplateOutlet]=\"selected.content\"> </ng-container>\n</div>\n",
16169
16326
  providers: [
16170
16327
  {
16171
- provide: NG_VALUE_ACCESSOR,
16172
- useExisting: forwardRef(() => GIPITableFooterComponent_1),
16173
- multi: true
16328
+ provide: CdkStepper,
16329
+ useExisting: GIPIStepperComponent_1,
16174
16330
  }
16175
16331
  ],
16176
16332
  host: {
16177
- 'class': 'gipi-table-footer',
16333
+ 'class': 'gipi-stepper',
16178
16334
  },
16179
- changeDetection: ChangeDetectionStrategy.OnPush,
16180
- styles: [""]
16181
- }),
16182
- __metadata("design:paramtypes", [])
16183
- ], GIPITableFooterComponent);
16184
-
16185
- class SortModel {
16186
- constructor(property, direction) {
16187
- this.property = property;
16188
- this.direction = direction;
16189
- }
16190
- get property() {
16191
- return this._property;
16192
- }
16193
- set property(value) {
16194
- this._property = value;
16195
- }
16196
- get direction() {
16197
- return this._direction;
16198
- }
16199
- set direction(value) {
16200
- this._direction = value;
16201
- }
16202
- }
16335
+ styles: [".stepper-content{width:100%;padding:16px;max-width:1366px;position:relative;overflow:hidden;display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0 auto}.stepper-container{flex:1}.stepper-content .step-content{display:flex;flex-direction:row;align-items:center}.stepper-content .step-content>button{display:flex;flex-direction:column;align-items:center;gap:8px;outline:0;border:none;background-color:transparent}.stepper-content .step-content>button .step-icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;font-size:1.4rem;border:2px solid #e0e1e2;border-radius:50%;color:#8c8f93;font-weight:600}.stepper-content .step-content>button .step-text{font-size:1.4rem;line-height:100%;color:#8c8f93}.step-horizontal-line{height:2px;border-radius:4px;min-width:5rem;max-width:10rem;background-color:#e0e1e2;border:none;position:relative;top:-10px;margin:0 16px}.active{border-color:#e0313e!important;color:#e0313e!important}.completed{background-color:#e0313e!important;border-color:#e0313e!important;color:#fff!important}"]
16336
+ })
16337
+ ], GIPIStepperComponent);
16203
16338
 
16204
- var GIPITableHeaderComponent_1;
16205
- let GIPITableHeaderComponent = GIPITableHeaderComponent_1 = class GIPITableHeaderComponent {
16339
+ var GIPITableBodyComponent_1;
16340
+ let GIPITableBodyComponent = GIPITableBodyComponent_1 = class GIPITableBodyComponent {
16206
16341
  constructor(_changeDetectorRef) {
16207
16342
  this._changeDetectorRef = _changeDetectorRef;
16208
- this._sortedColumn = null;
16209
- this.columns = [];
16343
+ this._rowsExpanded = [];
16210
16344
  this.loading = false;
16345
+ this.loadingDetail = false;
16211
16346
  this.disabled = false;
16212
- this.sortStart = 'asc';
16213
- this.sortDisableClear = true;
16214
- this.sortLocked = false;
16215
- this.sortAscendingIcon = 'keyboard_arrow_up';
16216
- this.sortDescendingIcon = 'keyboard_arrow_down';
16217
- this.sortUnsetIcon = 'unfold_more';
16218
- this.sortChange = new EventEmitter();
16347
+ this.clickOnRow = false;
16348
+ this.expandable = false;
16349
+ this.expandOnlyOneRow = false;
16350
+ this.columns = [];
16351
+ this.trackBy = 'id';
16352
+ this.rowsExpandedChange = new EventEmitter();
16353
+ this.rowDetailToggleChange = new EventEmitter();
16219
16354
  }
16220
- ngOnInit() {
16221
- if ((this.columns && this.columns.length) && this.sortActive) {
16222
- const columnActive = this.columns.find(c => c.property === this.sortActive);
16223
- if (!ObjectUtil.isNull(columnActive) && columnActive.sortable && ObjectUtil.isNull(this._sortedColumn)) {
16224
- this._sortedColumn = {};
16225
- this._sortedColumn.column = columnActive;
16226
- this._sortedColumn.sortDirection = this.sortStart;
16227
- this.sortChange.emit(new SortModel(columnActive.property, this._sortedColumn.sortDirection));
16228
- }
16229
- else {
16230
- throw new Error('There is no column with the property indicated in "sortActive"');
16231
- }
16232
- }
16355
+ set rows(val) {
16356
+ this._rows = val;
16357
+ }
16358
+ get rows() {
16359
+ return this._rows;
16360
+ }
16361
+ ngOnInit() { }
16362
+ columnTrackingFn(index, column) {
16363
+ return column.property;
16364
+ }
16365
+ rowTrackingFn(index, row) {
16366
+ return row[this.trackBy];
16367
+ }
16368
+ getShowHighlightRow(row) {
16369
+ if (ObjectUtil.isNull(row) || ObjectUtil.isNull(this.highlightRowFn)) {
16370
+ return false;
16371
+ }
16372
+ return this.highlightRowFn(row);
16373
+ }
16374
+ getIdentifierRow(index) {
16375
+ return `row-${index}`;
16376
+ }
16377
+ getShowExpandable(row) {
16378
+ if (!ObjectUtil.isNull(this.rowExpandableFn)) {
16379
+ return this.expandable && this.rowExpandableFn(row);
16380
+ }
16381
+ else {
16382
+ return this.expandable;
16383
+ }
16384
+ }
16385
+ getColumnValue(row, column) {
16386
+ let value = '';
16387
+ if (!this.rows || !this.columns) {
16388
+ value = '';
16389
+ }
16390
+ else {
16391
+ let val = column.value;
16392
+ if (typeof column.value === 'function') {
16393
+ val = column.value(row);
16394
+ }
16395
+ const userPipe = column.pipe;
16396
+ if (userPipe) {
16397
+ value = userPipe.transform(val);
16398
+ }
16399
+ else if (value !== undefined) {
16400
+ value = val;
16401
+ }
16402
+ }
16403
+ return value;
16404
+ }
16405
+ getRowExpanded(row) {
16406
+ if (ArrayUtil.isEmpty(this._rowsExpanded)) {
16407
+ return false;
16408
+ }
16409
+ return this._rowsExpanded.includes(row);
16410
+ }
16411
+ onRowExpandedChange(row) {
16412
+ if (!this.getShowExpandable(row)) {
16413
+ return;
16414
+ }
16415
+ if (this.expandOnlyOneRow) {
16416
+ if (!ArrayUtil.isEmpty(this._rowsExpanded)) {
16417
+ if (this.getRowExpanded(row)) {
16418
+ this._rowsExpanded.splice(0, this._rowsExpanded.length);
16419
+ }
16420
+ else {
16421
+ this._rowsExpanded.splice(0, this._rowsExpanded.length, row);
16422
+ }
16423
+ }
16424
+ else {
16425
+ this._rowsExpanded.push(row);
16426
+ }
16427
+ }
16428
+ else {
16429
+ if (this.getRowExpanded(row)) {
16430
+ const index = this._rowsExpanded.findIndex(r => r === row);
16431
+ this._rowsExpanded.splice(index, 1);
16432
+ }
16433
+ else {
16434
+ this._rowsExpanded.push(row);
16435
+ }
16436
+ }
16437
+ this.rowsExpandedChange.emit(this._rowsExpanded);
16438
+ this.rowDetailToggleChange.emit({ row: row, isExpanded: this.getRowExpanded(row) });
16439
+ this._changeDetectorRef.detectChanges();
16440
+ }
16441
+ onClickCell(row, column) {
16442
+ if (!ObjectUtil.isNull(column.action)) {
16443
+ column.action(row);
16444
+ }
16445
+ }
16446
+ };
16447
+ GIPITableBodyComponent.ctorParameters = () => [
16448
+ { type: ChangeDetectorRef }
16449
+ ];
16450
+ __decorate([
16451
+ Input(),
16452
+ __metadata("design:type", Boolean)
16453
+ ], GIPITableBodyComponent.prototype, "loading", void 0);
16454
+ __decorate([
16455
+ Input(),
16456
+ __metadata("design:type", Boolean)
16457
+ ], GIPITableBodyComponent.prototype, "loadingDetail", void 0);
16458
+ __decorate([
16459
+ Input(),
16460
+ __metadata("design:type", Boolean)
16461
+ ], GIPITableBodyComponent.prototype, "disabled", void 0);
16462
+ __decorate([
16463
+ Input(),
16464
+ __metadata("design:type", Boolean)
16465
+ ], GIPITableBodyComponent.prototype, "clickOnRow", void 0);
16466
+ __decorate([
16467
+ Input(),
16468
+ __metadata("design:type", Boolean)
16469
+ ], GIPITableBodyComponent.prototype, "expandable", void 0);
16470
+ __decorate([
16471
+ Input(),
16472
+ __metadata("design:type", Boolean)
16473
+ ], GIPITableBodyComponent.prototype, "expandOnlyOneRow", void 0);
16474
+ __decorate([
16475
+ Input(),
16476
+ __metadata("design:type", Function)
16477
+ ], GIPITableBodyComponent.prototype, "rowExpandableFn", void 0);
16478
+ __decorate([
16479
+ Input(),
16480
+ __metadata("design:type", Function)
16481
+ ], GIPITableBodyComponent.prototype, "highlightRowFn", void 0);
16482
+ __decorate([
16483
+ Input(),
16484
+ __metadata("design:type", Array)
16485
+ ], GIPITableBodyComponent.prototype, "columns", void 0);
16486
+ __decorate([
16487
+ Input(),
16488
+ __metadata("design:type", String)
16489
+ ], GIPITableBodyComponent.prototype, "trackBy", void 0);
16490
+ __decorate([
16491
+ Input(),
16492
+ __metadata("design:type", TemplateRef)
16493
+ ], GIPITableBodyComponent.prototype, "rowDetailRef", void 0);
16494
+ __decorate([
16495
+ Input(),
16496
+ __metadata("design:type", Array),
16497
+ __metadata("design:paramtypes", [Array])
16498
+ ], GIPITableBodyComponent.prototype, "rows", null);
16499
+ __decorate([
16500
+ Output(),
16501
+ __metadata("design:type", EventEmitter)
16502
+ ], GIPITableBodyComponent.prototype, "rowsExpandedChange", void 0);
16503
+ __decorate([
16504
+ Output(),
16505
+ __metadata("design:type", EventEmitter)
16506
+ ], GIPITableBodyComponent.prototype, "rowDetailToggleChange", void 0);
16507
+ GIPITableBodyComponent = GIPITableBodyComponent_1 = __decorate([
16508
+ Component({
16509
+ selector: `gipi-table-body`,
16510
+ exportAs: 'gipiTableBody',
16511
+ template: "<gipi-table-progress-bar *ngIf=\"loading\"> </gipi-table-progress-bar>\n\n<div class=\"table-body-content\"\n role=\"rowgroup\"\n #contentBody>\n\n <div *ngFor=\"let row of rows; trackBy: rowTrackingFn; let i = index;\"\n gipi-row\n role=\"row\"\n class=\"table-body-row\"\n [attr.id]=\"getIdentifierRow(i)\"\n [class.highlight]=\"getShowHighlightRow(row)\"\n (click)=\"clickOnRow ? onRowExpandedChange(row) : null\">\n\n <div *ngIf=\"getShowExpandable(row)\"\n role=\"cell\"\n class=\"table-body-cell-expandable noselect\"\n (click)=\"!clickOnRow ? onRowExpandedChange(row) : null\">\n <mat-icon>\n {{ getRowExpanded(row) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </div>\n\n <div *ngFor=\"let column of columns; trackBy: columnTrackingFn; let i = index;\"\n class=\"table-body-row-cell noselect\"\n role=\"cell\"\n gipi-col\n [GIPISpan]=\"column.columnSpan\"\n [attr.id]=\"column.property\"\n [style.align-items]=\"'center'\"\n [style.padding-inline.px]=\"column.paddingInline\"\n [style.justify-content]=\"column.align\"\n [style.cursor]=\"expandable && clickOnRow ? 'pointer' : 'default'\"\n (click)=\"onClickCell(row, column)\">\n <span class=\"table-row-label\"\n *ngIf=\"row\">\n {{ getColumnValue(row, column) }}\n </span>\n </div>\n\n <div *ngIf=\"rowDetailRef\"\n class=\"table-body-row-detail\"\n [@detailExpand]=\"getRowExpanded(row) ? 'expanded' : 'collapsed'\"\n role=\"row\"\n gipi-col\n [GIPISpan]=\"12\"\n (click)=\"$event.stopPropagation()\">\n <gipi-table-progress-bar *ngIf=\"loadingDetail\"> </gipi-table-progress-bar>\n\n <ng-template *ngIf=\"!loadingDetail\"\n [ngTemplateOutlet]=\"rowDetailRef\"\n [ngTemplateOutletContext]=\"{$implicit: row}\">\n </ng-template>\n </div>\n\n </div>\n\n <div *ngIf=\"!loading && (rows && (rows.length <= 0))\"\n class=\"no-records\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n <span>Nenhum registro foi encontrado</span>\n </div>\n\n</div>",
16512
+ providers: [
16513
+ {
16514
+ provide: NG_VALUE_ACCESSOR,
16515
+ useExisting: forwardRef(() => GIPITableBodyComponent_1),
16516
+ multi: true
16517
+ }
16518
+ ],
16519
+ host: {
16520
+ 'class': 'gipi-table-body',
16521
+ },
16522
+ animations: [
16523
+ trigger('detailExpand', [
16524
+ state('collapsed', style({ height: '0px', minHeight: '0', display: 'none' })),
16525
+ state('expanded', style({ height: '*' })),
16526
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
16527
+ ]),
16528
+ ],
16529
+ changeDetection: ChangeDetectionStrategy.OnPush,
16530
+ styles: [".table-body-row{color:#131313;position:relative;background-color:inherit}.table-body-row.highlight{background-color:#fbf6e6}.table-body-row:not(:last-child){border-bottom:1px solid #e0e1e2}.table-body-row:hover .table-body-row-cell{background-color:#f5f5f6}.table-body-cell-expandable{width:1.6rem;height:1.6rem;background-color:#f5f5f6;border-radius:50%;z-index:1;position:absolute;text-align:center;left:3.8rem;margin:24px 0;cursor:pointer}.table-body-cell-expandable:hover{background-color:#e0e1e2}.table-body-cell-expandable>mat-icon{width:1.6rem;height:1.6rem;font-size:1.6rem}.table-body-row-cell{padding:24px 0;font-weight:400;font-size:1.4rem;line-height:100%;display:flex}.table-body-row-detail{width:100%;min-height:10rem;max-height:90rem;overflow-x:hidden;overflow-y:auto;background-color:#fff}.no-records{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:1.4rem;font-weight:600;color:#131313;padding:24px 0;box-shadow:inset 0 5px 13px -5px rgba(0,0,0,.1)}.no-records>mat-icon{font-size:3.2rem;height:3.2rem;width:3.2rem;margin-bottom:5px}"]
16531
+ }),
16532
+ __metadata("design:paramtypes", [ChangeDetectorRef])
16533
+ ], GIPITableBodyComponent);
16534
+
16535
+ var GIPITableFooterComponent_1;
16536
+ let GIPITableFooterComponent = GIPITableFooterComponent_1 = class GIPITableFooterComponent {
16537
+ constructor() { }
16538
+ ngOnInit() { }
16539
+ };
16540
+ GIPITableFooterComponent = GIPITableFooterComponent_1 = __decorate([
16541
+ Component({
16542
+ selector: `gipi-table-footer`,
16543
+ exportAs: 'gipiTableFooter',
16544
+ template: "<p>\n table-footer works!\n</p>\n",
16545
+ providers: [
16546
+ {
16547
+ provide: NG_VALUE_ACCESSOR,
16548
+ useExisting: forwardRef(() => GIPITableFooterComponent_1),
16549
+ multi: true
16550
+ }
16551
+ ],
16552
+ host: {
16553
+ 'class': 'gipi-table-footer',
16554
+ },
16555
+ changeDetection: ChangeDetectionStrategy.OnPush,
16556
+ styles: [""]
16557
+ }),
16558
+ __metadata("design:paramtypes", [])
16559
+ ], GIPITableFooterComponent);
16560
+
16561
+ class SortModel {
16562
+ constructor(property, direction) {
16563
+ this.property = property;
16564
+ this.direction = direction;
16565
+ }
16566
+ get property() {
16567
+ return this._property;
16568
+ }
16569
+ set property(value) {
16570
+ this._property = value;
16571
+ }
16572
+ get direction() {
16573
+ return this._direction;
16574
+ }
16575
+ set direction(value) {
16576
+ this._direction = value;
16577
+ }
16578
+ }
16579
+
16580
+ var GIPITableHeaderComponent_1;
16581
+ let GIPITableHeaderComponent = GIPITableHeaderComponent_1 = class GIPITableHeaderComponent {
16582
+ constructor(_changeDetectorRef) {
16583
+ this._changeDetectorRef = _changeDetectorRef;
16584
+ this._sortedColumn = null;
16585
+ this.columns = [];
16586
+ this.loading = false;
16587
+ this.disabled = false;
16588
+ this.sortStart = 'asc';
16589
+ this.sortDisableClear = true;
16590
+ this.sortLocked = false;
16591
+ this.sortAscendingIcon = 'keyboard_arrow_up';
16592
+ this.sortDescendingIcon = 'keyboard_arrow_down';
16593
+ this.sortUnsetIcon = 'unfold_more';
16594
+ this.sortChange = new EventEmitter();
16595
+ }
16596
+ ngOnInit() {
16597
+ if ((this.columns && this.columns.length) && this.sortActive) {
16598
+ const columnActive = this.columns.find(c => c.property === this.sortActive);
16599
+ if (!ObjectUtil.isNull(columnActive) && columnActive.sortable && ObjectUtil.isNull(this._sortedColumn)) {
16600
+ this._sortedColumn = {};
16601
+ this._sortedColumn.column = columnActive;
16602
+ this._sortedColumn.sortDirection = this.sortStart;
16603
+ this.sortChange.emit(new SortModel(columnActive.property, this._sortedColumn.sortDirection));
16604
+ }
16605
+ else {
16606
+ throw new Error('There is no column with the property indicated in "sortActive"');
16607
+ }
16608
+ }
16233
16609
  }
16234
16610
  columnTrackingFn(index, column) {
16235
16611
  return column.property;
@@ -16634,10 +17010,10 @@ class TabModel {
16634
17010
  }
16635
17011
  }
16636
17012
 
16637
- let nextUniqueId$i = 0;
17013
+ let nextUniqueId$j = 0;
16638
17014
  let GIPITabComponent = class GIPITabComponent {
16639
17015
  constructor() {
16640
- this._name = `gipi-tab-${nextUniqueId$i++}`;
17016
+ this._name = `gipi-tab-${nextUniqueId$j++}`;
16641
17017
  this.id = this._name;
16642
17018
  this.name = this._name;
16643
17019
  this.active = false;
@@ -16709,12 +17085,12 @@ GIPITabComponent = __decorate([
16709
17085
  __metadata("design:paramtypes", [])
16710
17086
  ], GIPITabComponent);
16711
17087
 
16712
- let nextUniqueId$j = 0;
17088
+ let nextUniqueId$k = 0;
16713
17089
  let GIPITabGroupComponent = class GIPITabGroupComponent {
16714
17090
  constructor(elementRef, _componentFactoryResolver) {
16715
17091
  this.elementRef = elementRef;
16716
17092
  this._componentFactoryResolver = _componentFactoryResolver;
16717
- this._name = `gipi-tab-${nextUniqueId$j++}`;
17093
+ this._name = `gipi-tab-${nextUniqueId$k++}`;
16718
17094
  this.id = this._name;
16719
17095
  this.name = this._name;
16720
17096
  this.dynamicTabs = [];
@@ -16840,100 +17216,393 @@ GIPITabGroupComponent = __decorate([
16840
17216
  ComponentFactoryResolver])
16841
17217
  ], GIPITabGroupComponent);
16842
17218
 
16843
- var GIPIToolbarComponent_1;
16844
- let GIPIToolbarComponent = GIPIToolbarComponent_1 = class GIPIToolbarComponent {
16845
- constructor() { }
17219
+ var GIPITextareaComponent_1;
17220
+ let nextUniqueId$l = 0;
17221
+ let GIPITextareaComponent = GIPITextareaComponent_1 = class GIPITextareaComponent {
17222
+ constructor(elementRef, _changeDetectorRef) {
17223
+ this.elementRef = elementRef;
17224
+ this._changeDetectorRef = _changeDetectorRef;
17225
+ this._name = `gipi-textarea-${nextUniqueId$l++}`;
17226
+ this.id = this._name;
17227
+ this.name = this._name;
17228
+ this.label = '';
17229
+ this.placeholder = '';
17230
+ this.cols = 20;
17231
+ this.rows = 4;
17232
+ this.help = '';
17233
+ this.maxlength = 254;
17234
+ this.minlength = 0;
17235
+ this._resize = 'horizontal';
17236
+ this._minHeight = '60px';
17237
+ this._height = '60px';
17238
+ this._maxHeight = 'auto';
17239
+ this._autocomplete = 'off';
17240
+ this._autofocus = false;
17241
+ this._readOnly = false;
17242
+ this._required = false;
17243
+ this._disabled = false;
17244
+ this._lowerCase = false;
17245
+ this._upperCase = false;
17246
+ this._spaceDrop = false;
17247
+ this.onChange = () => { };
17248
+ this.onTouched = () => { };
17249
+ }
17250
+ get resize() {
17251
+ return this._resize;
17252
+ }
17253
+ set resize(value) {
17254
+ if (value !== this.resize) {
17255
+ this._resize = value.toLowerCase();
17256
+ this._changeDetectorRef.detectChanges();
17257
+ }
17258
+ }
17259
+ get minHeight() {
17260
+ return this._minHeight;
17261
+ }
17262
+ set minHeight(value) {
17263
+ if (value.trim().toUpperCase() === 'AUTO') {
17264
+ this._minHeight = 'auto';
17265
+ }
17266
+ else {
17267
+ this._minHeight = coerceCssPixelValue(value);
17268
+ }
17269
+ }
17270
+ get height() {
17271
+ return this._height;
17272
+ }
17273
+ set height(value) {
17274
+ if (value.trim().toUpperCase() === 'AUTO') {
17275
+ this._height = 'auto';
17276
+ }
17277
+ else {
17278
+ this._height = coerceCssPixelValue(value);
17279
+ }
17280
+ }
17281
+ get maxHeight() {
17282
+ return this._maxHeight;
17283
+ }
17284
+ set maxHeight(value) {
17285
+ if (value.trim().toUpperCase() === 'AUTO') {
17286
+ this._maxHeight = 'auto';
17287
+ }
17288
+ else {
17289
+ this._maxHeight = coerceCssPixelValue(value);
17290
+ }
17291
+ }
17292
+ get autocomplete() {
17293
+ return this._autocomplete;
17294
+ }
17295
+ set autocomplete(value) {
17296
+ this._autocomplete = value;
17297
+ }
17298
+ get autofocus() {
17299
+ return this._autofocus;
17300
+ }
17301
+ set autofocus(value) {
17302
+ this._autofocus = coerceBooleanProperty(value);
17303
+ }
17304
+ get readOnly() {
17305
+ return this._readOnly;
17306
+ }
17307
+ set readOnly(value) {
17308
+ this._readOnly = coerceBooleanProperty(value);
17309
+ }
17310
+ get required() {
17311
+ return this._required;
17312
+ }
17313
+ set required(value) {
17314
+ this._required = coerceBooleanProperty(value);
17315
+ }
17316
+ get disabled() {
17317
+ return this._disabled;
17318
+ }
17319
+ set disabled(value) {
17320
+ this._disabled = coerceBooleanProperty(value);
17321
+ }
17322
+ get lowerCase() {
17323
+ return this._lowerCase;
17324
+ }
17325
+ set lowerCase(value) {
17326
+ this._lowerCase = coerceBooleanProperty(value);
17327
+ }
17328
+ get upperCase() {
17329
+ return this._upperCase;
17330
+ }
17331
+ set upperCase(value) {
17332
+ this._upperCase = coerceBooleanProperty(value);
17333
+ }
17334
+ get spaceDrop() {
17335
+ return this._spaceDrop;
17336
+ }
17337
+ set spaceDrop(value) {
17338
+ this._spaceDrop = coerceBooleanProperty(value);
17339
+ }
17340
+ get value() {
17341
+ return this._value;
17342
+ }
17343
+ set value(value) {
17344
+ let valueAux = value;
17345
+ valueAux = this._checkSpaceDrop(valueAux);
17346
+ valueAux = this._checkLowercase(valueAux);
17347
+ valueAux = this._checkUppercase(valueAux);
17348
+ this._value = valueAux;
17349
+ this.onChange(this._value);
17350
+ this.onTouched(this._value);
17351
+ }
16846
17352
  ngOnInit() { }
17353
+ writeValue(value) {
17354
+ this._value = value;
17355
+ }
17356
+ registerOnChange(fn) {
17357
+ this.onChange = fn;
17358
+ }
17359
+ registerOnTouched(fn) {
17360
+ this.onTouched = fn;
17361
+ }
17362
+ setDisabledState(isDisabled) {
17363
+ this.disabled = isDisabled;
17364
+ this._changeDetectorRef.markForCheck();
17365
+ }
17366
+ _checkSpaceDrop(value) {
17367
+ if (this.spaceDrop && value) {
17368
+ return value.replace(/\s/g, '');
17369
+ }
17370
+ return value;
17371
+ }
17372
+ _checkUppercase(value) {
17373
+ if (this.upperCase && value) {
17374
+ return value.toUpperCase();
17375
+ }
17376
+ return value;
17377
+ }
17378
+ _checkLowercase(value) {
17379
+ if (this.lowerCase && value) {
17380
+ return value.toLowerCase();
17381
+ }
17382
+ return value;
17383
+ }
16847
17384
  };
17385
+ GIPITextareaComponent.ctorParameters = () => [
17386
+ { type: ElementRef },
17387
+ { type: ChangeDetectorRef }
17388
+ ];
16848
17389
  __decorate([
16849
17390
  Input(),
16850
17391
  __metadata("design:type", String)
16851
- ], GIPIToolbarComponent.prototype, "id", void 0);
17392
+ ], GIPITextareaComponent.prototype, "id", void 0);
16852
17393
  __decorate([
16853
17394
  Input(),
16854
17395
  __metadata("design:type", String)
16855
- ], GIPIToolbarComponent.prototype, "name", void 0);
17396
+ ], GIPITextareaComponent.prototype, "name", void 0);
16856
17397
  __decorate([
16857
17398
  Input(),
16858
17399
  __metadata("design:type", String)
16859
- ], GIPIToolbarComponent.prototype, "ariaLabel", void 0);
17400
+ ], GIPITextareaComponent.prototype, "label", void 0);
16860
17401
  __decorate([
16861
17402
  Input(),
16862
17403
  __metadata("design:type", String)
16863
- ], GIPIToolbarComponent.prototype, "label", void 0);
17404
+ ], GIPITextareaComponent.prototype, "placeholder", void 0);
16864
17405
  __decorate([
16865
17406
  Input(),
16866
- __metadata("design:type", String)
16867
- ], GIPIToolbarComponent.prototype, "style", void 0);
17407
+ __metadata("design:type", Number)
17408
+ ], GIPITextareaComponent.prototype, "cols", void 0);
17409
+ __decorate([
17410
+ Input(),
17411
+ __metadata("design:type", Number)
17412
+ ], GIPITextareaComponent.prototype, "rows", void 0);
16868
17413
  __decorate([
16869
17414
  Input(),
16870
17415
  __metadata("design:type", String)
16871
- ], GIPIToolbarComponent.prototype, "class", void 0);
16872
- GIPIToolbarComponent = GIPIToolbarComponent_1 = __decorate([
16873
- Component({
16874
- selector: `gipi-toolbar`,
16875
- exportAs: 'gipiToolbar',
16876
- template: "<div [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [ngStyle]=\"style\"\n [class]=\"class\">\n <h5 *ngIf=\"label\"> {{ label }} </h5>\n <ng-content> </ng-content>\n</div>\n",
16877
- providers: [
16878
- {
16879
- provide: NG_VALUE_ACCESSOR,
16880
- useExisting: forwardRef(() => GIPIToolbarComponent_1),
16881
- multi: true
16882
- }
16883
- ],
16884
- host: {
16885
- 'class': 'gipi-toolbar',
16886
- },
16887
- styles: [":host>div{width:100%;color:#131313;display:flex;align-items:center}:host>div>h5{font-weight:600;font-size:2rem;line-height:150%}"]
16888
- }),
16889
- __metadata("design:paramtypes", [])
16890
- ], GIPIToolbarComponent);
16891
-
16892
- var GIPITopNavComponent_1;
16893
- let GIPITopNavComponent = GIPITopNavComponent_1 = class GIPITopNavComponent {
16894
- constructor(_navService) {
16895
- this._navService = _navService;
16896
- }
16897
- ngOnInit() { }
16898
- toggle() {
16899
- this._navService.toggle();
16900
- }
16901
- };
16902
- GIPITopNavComponent.ctorParameters = () => [
16903
- { type: NavService }
16904
- ];
16905
- GIPITopNavComponent = GIPITopNavComponent_1 = __decorate([
16906
- Component({
16907
- selector: '[gipi-top-nav], gipi-top-nav',
16908
- exportAs: 'gipiTopNav',
16909
- template: "<ng-content> </ng-content>\n",
16910
- providers: [
16911
- {
16912
- provide: NG_VALUE_ACCESSOR,
16913
- useExisting: forwardRef(() => GIPITopNavComponent_1),
16914
- multi: true
16915
- }
16916
- ],
16917
- host: {
16918
- 'class': 'gipi-top-nav'
16919
- },
16920
- styles: [":host{height:66px;max-height:66px;background-color:#f5f5f6;border-bottom:2px solid #e0313e;display:flex;align-items:center;padding:12px}"]
16921
- }),
16922
- __metadata("design:paramtypes", [NavService])
16923
- ], GIPITopNavComponent);
16924
-
16925
- const moment = moment_;
16926
- /** @dynamic */
16927
- class DateUtil {
16928
- constructor() { }
16929
- static format(value, format) {
16930
- if (!ObjectUtil.isNull(value)) {
16931
- return formatDate(value, format, 'pt');
16932
- }
16933
- return StringUtil.EMPTY;
16934
- }
16935
- static isValid(value) {
16936
- if (ObjectUtil.isNull(value)) {
17416
+ ], GIPITextareaComponent.prototype, "help", void 0);
17417
+ __decorate([
17418
+ Input(),
17419
+ __metadata("design:type", Number)
17420
+ ], GIPITextareaComponent.prototype, "maxlength", void 0);
17421
+ __decorate([
17422
+ Input(),
17423
+ __metadata("design:type", Number)
17424
+ ], GIPITextareaComponent.prototype, "minlength", void 0);
17425
+ __decorate([
17426
+ Input(),
17427
+ __metadata("design:type", String),
17428
+ __metadata("design:paramtypes", [String])
17429
+ ], GIPITextareaComponent.prototype, "resize", null);
17430
+ __decorate([
17431
+ Input(),
17432
+ __metadata("design:type", String),
17433
+ __metadata("design:paramtypes", [String])
17434
+ ], GIPITextareaComponent.prototype, "minHeight", null);
17435
+ __decorate([
17436
+ Input(),
17437
+ __metadata("design:type", String),
17438
+ __metadata("design:paramtypes", [String])
17439
+ ], GIPITextareaComponent.prototype, "height", null);
17440
+ __decorate([
17441
+ Input(),
17442
+ __metadata("design:type", String),
17443
+ __metadata("design:paramtypes", [String])
17444
+ ], GIPITextareaComponent.prototype, "maxHeight", null);
17445
+ __decorate([
17446
+ Input(),
17447
+ __metadata("design:type", String),
17448
+ __metadata("design:paramtypes", [String])
17449
+ ], GIPITextareaComponent.prototype, "autocomplete", null);
17450
+ __decorate([
17451
+ Input(),
17452
+ __metadata("design:type", Boolean),
17453
+ __metadata("design:paramtypes", [Boolean])
17454
+ ], GIPITextareaComponent.prototype, "autofocus", null);
17455
+ __decorate([
17456
+ Input(),
17457
+ __metadata("design:type", Boolean),
17458
+ __metadata("design:paramtypes", [Boolean])
17459
+ ], GIPITextareaComponent.prototype, "readOnly", null);
17460
+ __decorate([
17461
+ Input(),
17462
+ __metadata("design:type", Boolean),
17463
+ __metadata("design:paramtypes", [Boolean])
17464
+ ], GIPITextareaComponent.prototype, "required", null);
17465
+ __decorate([
17466
+ Input(),
17467
+ __metadata("design:type", Boolean),
17468
+ __metadata("design:paramtypes", [Boolean])
17469
+ ], GIPITextareaComponent.prototype, "disabled", null);
17470
+ __decorate([
17471
+ Input(),
17472
+ __metadata("design:type", Boolean),
17473
+ __metadata("design:paramtypes", [Boolean])
17474
+ ], GIPITextareaComponent.prototype, "lowerCase", null);
17475
+ __decorate([
17476
+ Input(),
17477
+ __metadata("design:type", Boolean),
17478
+ __metadata("design:paramtypes", [Boolean])
17479
+ ], GIPITextareaComponent.prototype, "upperCase", null);
17480
+ __decorate([
17481
+ Input(),
17482
+ __metadata("design:type", Boolean),
17483
+ __metadata("design:paramtypes", [Boolean])
17484
+ ], GIPITextareaComponent.prototype, "spaceDrop", null);
17485
+ __decorate([
17486
+ Input(),
17487
+ __metadata("design:type", Object),
17488
+ __metadata("design:paramtypes", [Object])
17489
+ ], GIPITextareaComponent.prototype, "value", null);
17490
+ GIPITextareaComponent = GIPITextareaComponent_1 = __decorate([
17491
+ Component({
17492
+ selector: 'gipi-textarea',
17493
+ exportAs: 'gipiTextarea',
17494
+ template: "<label class=\"textarea-label\"\n *ngIf=\"label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n</label>\n\n<textarea class=\"textarea-element\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n [class.resize-none]=\"resize === 'none'\"\n [class.resize-both]=\"resize === 'both'\"\n [class.resize-horizontal]=\"resize === 'horizontal'\"\n [class.resize-vertical]=\"resize === 'vertical'\"\n [style.min-height.px]=\"minHeight\"\n [style.height.px]=\"height\"\n [style.max-height.px]=\"maxHeight\"\n [minlength]=\"minlength\"\n [maxlength]=\"maxlength\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"readOnly\"\n [attr.autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"value\"\n [value]=\"value\">\n </textarea>\n\n<small *ngIf=\"help\"\n class=\"textarea-help\">\n {{ help }}\n</small>",
17495
+ providers: [
17496
+ {
17497
+ provide: NG_VALUE_ACCESSOR,
17498
+ useExisting: forwardRef(() => GIPITextareaComponent_1),
17499
+ multi: true
17500
+ }
17501
+ ],
17502
+ host: {
17503
+ 'class': 'gipi-textarea',
17504
+ },
17505
+ changeDetection: ChangeDetectionStrategy.OnPush,
17506
+ styles: [":host{display:flex;min-width:0;max-width:100%;flex:1;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;caret-color:#696969;max-height:12rem;min-height:6rem;resize:vertical;outline:0;overflow:auto}:host .textarea-element:not(:disabled):hover{border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:hover,:host .textarea-element:not(:disabled):invalid:enabled:hover{border-color:#e07f62}:host .textarea-element:not(:disabled):enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled,:host .textarea-element:not(:disabled):invalid:enabled{border-color:#d14014}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:focus,:host .textarea-element:not(:disabled):invalid:enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}:host .textarea-element:disabled{color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .textarea-element.resize-none{resize:none}:host .textarea-element.resize-both{resize:both}:host .textarea-element.resize-horizontal{resize:horizontal}:host .textarea-element.resize-vertical{resize:vertical}:host .textarea-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
17507
+ }),
17508
+ __metadata("design:paramtypes", [ElementRef,
17509
+ ChangeDetectorRef])
17510
+ ], GIPITextareaComponent);
17511
+
17512
+ var GIPIToolbarComponent_1;
17513
+ let GIPIToolbarComponent = GIPIToolbarComponent_1 = class GIPIToolbarComponent {
17514
+ constructor() { }
17515
+ ngOnInit() { }
17516
+ };
17517
+ __decorate([
17518
+ Input(),
17519
+ __metadata("design:type", String)
17520
+ ], GIPIToolbarComponent.prototype, "id", void 0);
17521
+ __decorate([
17522
+ Input(),
17523
+ __metadata("design:type", String)
17524
+ ], GIPIToolbarComponent.prototype, "name", void 0);
17525
+ __decorate([
17526
+ Input(),
17527
+ __metadata("design:type", String)
17528
+ ], GIPIToolbarComponent.prototype, "ariaLabel", void 0);
17529
+ __decorate([
17530
+ Input(),
17531
+ __metadata("design:type", String)
17532
+ ], GIPIToolbarComponent.prototype, "label", void 0);
17533
+ __decorate([
17534
+ Input(),
17535
+ __metadata("design:type", String)
17536
+ ], GIPIToolbarComponent.prototype, "style", void 0);
17537
+ __decorate([
17538
+ Input(),
17539
+ __metadata("design:type", String)
17540
+ ], GIPIToolbarComponent.prototype, "class", void 0);
17541
+ GIPIToolbarComponent = GIPIToolbarComponent_1 = __decorate([
17542
+ Component({
17543
+ selector: `gipi-toolbar`,
17544
+ exportAs: 'gipiToolbar',
17545
+ template: "<div [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [ngStyle]=\"style\"\n [class]=\"class\">\n <h5 *ngIf=\"label\"> {{ label }} </h5>\n <ng-content> </ng-content>\n</div>\n",
17546
+ providers: [
17547
+ {
17548
+ provide: NG_VALUE_ACCESSOR,
17549
+ useExisting: forwardRef(() => GIPIToolbarComponent_1),
17550
+ multi: true
17551
+ }
17552
+ ],
17553
+ host: {
17554
+ 'class': 'gipi-toolbar',
17555
+ },
17556
+ styles: [":host>div{width:100%;color:#131313;display:flex;align-items:center}:host>div>h5{font-weight:600;font-size:2rem;line-height:150%}"]
17557
+ }),
17558
+ __metadata("design:paramtypes", [])
17559
+ ], GIPIToolbarComponent);
17560
+
17561
+ var GIPITopNavComponent_1;
17562
+ let GIPITopNavComponent = GIPITopNavComponent_1 = class GIPITopNavComponent {
17563
+ constructor(_navService) {
17564
+ this._navService = _navService;
17565
+ }
17566
+ ngOnInit() { }
17567
+ toggle() {
17568
+ this._navService.toggle();
17569
+ }
17570
+ };
17571
+ GIPITopNavComponent.ctorParameters = () => [
17572
+ { type: NavService }
17573
+ ];
17574
+ GIPITopNavComponent = GIPITopNavComponent_1 = __decorate([
17575
+ Component({
17576
+ selector: '[gipi-top-nav], gipi-top-nav',
17577
+ exportAs: 'gipiTopNav',
17578
+ template: "<ng-content> </ng-content>\n",
17579
+ providers: [
17580
+ {
17581
+ provide: NG_VALUE_ACCESSOR,
17582
+ useExisting: forwardRef(() => GIPITopNavComponent_1),
17583
+ multi: true
17584
+ }
17585
+ ],
17586
+ host: {
17587
+ 'class': 'gipi-top-nav'
17588
+ },
17589
+ styles: [":host{height:66px;max-height:66px;background-color:#f5f5f6;border-bottom:2px solid #e0313e;display:flex;align-items:center;padding:12px}"]
17590
+ }),
17591
+ __metadata("design:paramtypes", [NavService])
17592
+ ], GIPITopNavComponent);
17593
+
17594
+ const moment = moment_;
17595
+ /** @dynamic */
17596
+ class DateUtil {
17597
+ constructor() { }
17598
+ static format(value, format) {
17599
+ if (!ObjectUtil.isNull(value)) {
17600
+ return formatDate(value, format, 'pt');
17601
+ }
17602
+ return StringUtil.EMPTY;
17603
+ }
17604
+ static isValid(value) {
17605
+ if (ObjectUtil.isNull(value)) {
16937
17606
  return false;
16938
17607
  }
16939
17608
  value = new Date(value);
@@ -20716,7 +21385,7 @@ MatDatepickerInput = MatDatepickerInput_1 = __decorate([
20716
21385
  * found in the LICENSE file at https://angular.io/license
20717
21386
  */
20718
21387
  var MatDateRangeInput_1;
20719
- let nextUniqueId$k = 0;
21388
+ let nextUniqueId$m = 0;
20720
21389
  let MatDateRangeInput = MatDateRangeInput_1 = class MatDateRangeInput {
20721
21390
  constructor(_changeDetectorRef, _elementRef, control, _dateAdapter, _formField) {
20722
21391
  this._changeDetectorRef = _changeDetectorRef;
@@ -20724,7 +21393,7 @@ let MatDateRangeInput = MatDateRangeInput_1 = class MatDateRangeInput {
20724
21393
  this._dateAdapter = _dateAdapter;
20725
21394
  this._formField = _formField;
20726
21395
  /** Unique ID for the input. */
20727
- this.id = `mat-date-range-input-${nextUniqueId$k++}`;
21396
+ this.id = `mat-date-range-input-${nextUniqueId$m++}`;
20728
21397
  /** Whether the control is focused. */
20729
21398
  this.focused = false;
20730
21399
  /** Name of the form control. */
@@ -21512,12 +22181,12 @@ class BrowserUtil {
21512
22181
 
21513
22182
  var DateRangePickerComponent_1;
21514
22183
  const moment$1 = moment_;
21515
- let nextUniqueId$l = 0;
22184
+ let nextUniqueId$n = 0;
21516
22185
  let DateRangePickerComponent = DateRangePickerComponent_1 = class DateRangePickerComponent {
21517
22186
  constructor(elementRef, _changeDetectorRef) {
21518
22187
  this.elementRef = elementRef;
21519
22188
  this._changeDetectorRef = _changeDetectorRef;
21520
- this._name = `gipi-date-range-${nextUniqueId$l++}`;
22189
+ this._name = `gipi-date-range-${nextUniqueId$n++}`;
21521
22190
  this.idStartDate = `${this._name}-start`;
21522
22191
  this.idEndDate = `${this._name}-end`;
21523
22192
  this.nameStartDate = `${this._name}-start`;
@@ -21818,7 +22487,7 @@ DateRangePickerComponent = DateRangePickerComponent_1 = __decorate([
21818
22487
  host: {
21819
22488
  'class': 'gipi-date-range-picker',
21820
22489
  },
21821
- styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .mat-date-range-input{height:4rem!important;padding-left:.8rem!important}::ng-deep .mat-date-range-input-container,::ng-deep .mat-date-range-input-end-wrapper,::ng-deep .mat-date-range-input-inner,::ng-deep .mat-date-range-input-start-wrapper{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:100%;height:100%;padding-bottom:3px}::ng-deep .mat-date-range-input-inner{padding:0!important}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
22490
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .mat-date-range-input{height:4rem!important;padding-left:.8rem!important}::ng-deep .mat-date-range-input-container,::ng-deep .mat-date-range-input-end-wrapper,::ng-deep .mat-date-range-input-inner,::ng-deep .mat-date-range-input-start-wrapper{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:100%;height:100%;padding-bottom:3px}::ng-deep .mat-date-range-input-end-wrapper{padding-bottom:0!important}::ng-deep .mat-date-range-input-inner{padding:0!important}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
21822
22491
  }),
21823
22492
  __metadata("design:paramtypes", [ElementRef,
21824
22493
  ChangeDetectorRef])
@@ -22141,12 +22810,12 @@ PresetRangeComponent = PresetRangeComponent_1 = __decorate([
22141
22810
 
22142
22811
  var DatepickerComponent_1;
22143
22812
  const moment$3 = moment_;
22144
- let nextUniqueId$m = 0;
22813
+ let nextUniqueId$o = 0;
22145
22814
  let DatepickerComponent = DatepickerComponent_1 = class DatepickerComponent {
22146
22815
  constructor(elementRef, _changeDetectorRef) {
22147
22816
  this.elementRef = elementRef;
22148
22817
  this._changeDetectorRef = _changeDetectorRef;
22149
- this._name = `gipi-date-range-${nextUniqueId$m++}`;
22818
+ this._name = `gipi-date-range-${nextUniqueId$o++}`;
22150
22819
  this.id = `${this._name}-date`;
22151
22820
  this.name = `${this._name}-date`;
22152
22821
  this.label = '';
@@ -22689,7 +23358,7 @@ class MonthPickerModel {
22689
23358
  this.updateYearText();
22690
23359
  }
22691
23360
  }
22692
- let nextUniqueId$n = 0;
23361
+ let nextUniqueId$p = 0;
22693
23362
  let MonthYearPickerComponent = MonthYearPickerComponent_1 = class MonthYearPickerComponent {
22694
23363
  constructor(elementRef, _changeDetectorRef, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dir, _document) {
22695
23364
  this.elementRef = elementRef;
@@ -22699,7 +23368,7 @@ let MonthYearPickerComponent = MonthYearPickerComponent_1 = class MonthYearPicke
22699
23368
  this._viewContainerRef = _viewContainerRef;
22700
23369
  this._dir = _dir;
22701
23370
  this._document = _document;
22702
- this._name = `gipi-date-range-${nextUniqueId$n++}`;
23371
+ this._name = `gipi-date-range-${nextUniqueId$p++}`;
22703
23372
  this._focusedElementBeforeOpen = null;
22704
23373
  this._backdropHarnessClass = `${this._name}-backdrop`;
22705
23374
  this._stateChanges = new Subject();
@@ -22912,733 +23581,204 @@ let MonthYearPickerComponent = MonthYearPickerComponent_1 = class MonthYearPicke
22912
23581
  this.close();
22913
23582
  });
22914
23583
  }
22915
- _destroyPopup() {
22916
- if (this._popupRef) {
22917
- this._popupRef.dispose();
22918
- this._popupRef = this._popupComponentRef = null;
22919
- }
22920
- }
22921
- _setConnectedPositions(strategy) {
22922
- const primaryX = this.xPosition === 'end' ? 'end' : 'start';
22923
- const secondaryX = primaryX === 'start' ? 'end' : 'start';
22924
- const primaryY = this.yPosition === 'above' ? 'bottom' : 'top';
22925
- const secondaryY = primaryY === 'top' ? 'bottom' : 'top';
22926
- return strategy.withPositions([
22927
- {
22928
- originX: primaryX,
22929
- originY: secondaryY,
22930
- overlayX: primaryX,
22931
- overlayY: primaryY
22932
- },
22933
- {
22934
- originX: primaryX,
22935
- originY: primaryY,
22936
- overlayX: primaryX,
22937
- overlayY: secondaryY
22938
- },
22939
- {
22940
- originX: secondaryX,
22941
- originY: secondaryY,
22942
- overlayX: secondaryX,
22943
- overlayY: primaryY
22944
- },
22945
- {
22946
- originX: secondaryX,
22947
- originY: primaryY,
22948
- overlayX: secondaryX,
22949
- overlayY: secondaryY
22950
- }
22951
- ]);
22952
- }
22953
- };
22954
- MonthYearPickerComponent.ctorParameters = () => [
22955
- { type: ElementRef },
22956
- { type: ChangeDetectorRef },
22957
- { type: Overlay },
22958
- { type: NgZone },
22959
- { type: ViewContainerRef },
22960
- { type: undefined, decorators: [{ type: Inject, args: [GIPI_MONTH_YEAR_SCROLL_STRATEGY,] }] },
22961
- { type: Directionality, decorators: [{ type: Optional }] },
22962
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
22963
- ];
22964
- __decorate([
22965
- ViewChild('inputMonthYearContent', { static: false, }),
22966
- __metadata("design:type", ElementRef)
22967
- ], MonthYearPickerComponent.prototype, "inputMonthYearContentRef", void 0);
22968
- __decorate([
22969
- Input(),
22970
- __metadata("design:type", String)
22971
- ], MonthYearPickerComponent.prototype, "id", void 0);
22972
- __decorate([
22973
- Input(),
22974
- __metadata("design:type", String)
22975
- ], MonthYearPickerComponent.prototype, "name", void 0);
22976
- __decorate([
22977
- Input(),
22978
- __metadata("design:type", String)
22979
- ], MonthYearPickerComponent.prototype, "label", void 0);
22980
- __decorate([
22981
- Input(),
22982
- __metadata("design:type", String)
22983
- ], MonthYearPickerComponent.prototype, "placeholder", void 0);
22984
- __decorate([
22985
- Input(),
22986
- __metadata("design:type", String)
22987
- ], MonthYearPickerComponent.prototype, "help", void 0);
22988
- __decorate([
22989
- Input(),
22990
- __metadata("design:type", String)
22991
- ], MonthYearPickerComponent.prototype, "locale", void 0);
22992
- __decorate([
22993
- Input(),
22994
- __metadata("design:type", Number)
22995
- ], MonthYearPickerComponent.prototype, "year", void 0);
22996
- __decorate([
22997
- Input(),
22998
- __metadata("design:type", Number)
22999
- ], MonthYearPickerComponent.prototype, "month", void 0);
23000
- __decorate([
23001
- Input(),
23002
- __metadata("design:type", Boolean)
23003
- ], MonthYearPickerComponent.prototype, "multiple", void 0);
23004
- __decorate([
23005
- Input(),
23006
- __metadata("design:type", String)
23007
- ], MonthYearPickerComponent.prototype, "xPosition", void 0);
23008
- __decorate([
23009
- Input(),
23010
- __metadata("design:type", String)
23011
- ], MonthYearPickerComponent.prototype, "yPosition", void 0);
23012
- __decorate([
23013
- Input(),
23014
- __metadata("design:type", String)
23015
- ], MonthYearPickerComponent.prototype, "calendarView", void 0);
23016
- __decorate([
23017
- Input(),
23018
- __metadata("design:type", Boolean),
23019
- __metadata("design:paramtypes", [Boolean])
23020
- ], MonthYearPickerComponent.prototype, "opened", null);
23021
- __decorate([
23022
- Input(),
23023
- __metadata("design:type", Boolean),
23024
- __metadata("design:paramtypes", [Boolean])
23025
- ], MonthYearPickerComponent.prototype, "required", null);
23026
- __decorate([
23027
- Input(),
23028
- __metadata("design:type", Boolean),
23029
- __metadata("design:paramtypes", [Boolean])
23030
- ], MonthYearPickerComponent.prototype, "disabled", null);
23031
- __decorate([
23032
- Input(),
23033
- __metadata("design:type", MonthYear),
23034
- __metadata("design:paramtypes", [MonthYear])
23035
- ], MonthYearPickerComponent.prototype, "min", null);
23036
- __decorate([
23037
- Input(),
23038
- __metadata("design:type", MonthYear),
23039
- __metadata("design:paramtypes", [MonthYear])
23040
- ], MonthYearPickerComponent.prototype, "max", null);
23041
- __decorate([
23042
- Input(),
23043
- __metadata("design:type", MonthYear),
23044
- __metadata("design:paramtypes", [MonthYear])
23045
- ], MonthYearPickerComponent.prototype, "value", null);
23046
- __decorate([
23047
- Output('opened'),
23048
- __metadata("design:type", EventEmitter)
23049
- ], MonthYearPickerComponent.prototype, "openedStream", void 0);
23050
- __decorate([
23051
- Output('closed'),
23052
- __metadata("design:type", EventEmitter)
23053
- ], MonthYearPickerComponent.prototype, "closedStream", void 0);
23054
- MonthYearPickerComponent = MonthYearPickerComponent_1 = __decorate([
23055
- Component({
23056
- selector: 'gipi-month-year-picker',
23057
- template: "<div class=\"input-wrapper\">\n\n <label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n </label>\n\n <div class=\"input-content\"\n #inputMonthYearContent\n (click)=\"open()\">\n <input matInput\n class=\"input-element\"\n type=\"text\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"true\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [ngModel]=\"valueLabel\"\n (click)=\"open()\" />\n\n <div class=\"suffix\">\n <button #button\n mat-icon-button\n type=\"button\"\n class=\"btn-month-year-toggle\"\n [attr.aria-label]=\"'Abrir calend\u00E1rio mensal'\"\n [disabled]=\"disabled\"\n (click)=\"open()\">\n <svg class=\"month-year-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\">\n <path\n d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\" />\n </svg>\n </button>\n </div>\n </div>\n\n <small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n </small>\n</div>",
23058
- providers: [
23059
- {
23060
- provide: NG_VALUE_ACCESSOR,
23061
- useExisting: forwardRef(() => MonthYearPickerComponent_1),
23062
- multi: true
23063
- },
23064
- ],
23065
- host: {
23066
- 'class': 'gipi-month-year-picker',
23067
- },
23068
- changeDetection: ChangeDetectionStrategy.OnPush,
23069
- styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-year-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-icon-button .month-year-toggle-default-icon{margin:auto}.btn-month-year-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}"]
23070
- }),
23071
- __param(5, Inject(GIPI_MONTH_YEAR_SCROLL_STRATEGY)),
23072
- __param(6, Optional()),
23073
- __param(7, Optional()), __param(7, Inject(DOCUMENT)),
23074
- __metadata("design:paramtypes", [ElementRef,
23075
- ChangeDetectorRef,
23076
- Overlay,
23077
- NgZone,
23078
- ViewContainerRef, Object, Directionality, Object])
23079
- ], MonthYearPickerComponent);
23080
-
23081
- let MonthYearPickerModule = class MonthYearPickerModule {
23082
- };
23083
- MonthYearPickerModule = __decorate([
23084
- NgModule({
23085
- imports: [
23086
- CommonModule,
23087
- MatButtonModule,
23088
- MatDialogModule,
23089
- OverlayModule,
23090
- A11yModule,
23091
- PortalModule,
23092
- MatIconModule,
23093
- FormsModule,
23094
- ReactiveFormsModule,
23095
- ],
23096
- exports: [
23097
- ScrollingModule,
23098
- CalendarMonthYearComponent,
23099
- MonthYearPickerComponent,
23100
- ],
23101
- declarations: [
23102
- CalendarMonthYearComponent,
23103
- MonthYearPickerComponent,
23104
- ],
23105
- providers: [
23106
- GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER,
23107
- ],
23108
- entryComponents: [
23109
- CalendarMonthYearComponent,
23110
- ],
23111
- })
23112
- ], MonthYearPickerModule);
23113
-
23114
- var GIPISplitButtonComponent_1;
23115
- let nextUniqueId$o = 0;
23116
- let GIPISplitButtonComponent = GIPISplitButtonComponent_1 = class GIPISplitButtonComponent {
23117
- constructor(elementRef) {
23118
- this.elementRef = elementRef;
23119
- this._uniqueId = nextUniqueId$o++;
23120
- this._name = `gipi-split-button-${this._uniqueId}`;
23121
- this.idBtnDefault = `gipi-split-button-default-${this._uniqueId}`;
23122
- this.idBtnMenu = `gipi-split-button-menu-${this._uniqueId}`;
23123
- this.isSplitButtonPrimary = this._hasHostAttributes('gipi-primary');
23124
- this.isSplitButtonSecondary = this._hasHostAttributes('gipi-secondary');
23125
- this.isSplitButtonTertiary = this._hasHostAttributes('gipi-tertiary');
23126
- this.isSplitButtonAction = this._hasHostAttributes('gipi-action');
23127
- this.id = this._name;
23128
- this.name = this._name;
23129
- this.type = 'button';
23130
- this.ariaLabel = '';
23131
- this.title = '';
23132
- this.label = '';
23133
- this.disabled = false;
23134
- this.loading = false;
23135
- this.tooltip = '';
23136
- this.splitOptions = [];
23137
- this.onOpenPopover = new EventEmitter();
23138
- this.onClosePopover = new EventEmitter();
23139
- this.onClick = new EventEmitter(true);
23140
- this.onFocus = new EventEmitter(true);
23141
- this.onBlur = new EventEmitter(true);
23142
- }
23143
- ngOnInit() { }
23144
- ngOnDestroy() {
23145
- if (this.popoverTrigger) {
23146
- this.popoverTrigger.destroyPopover();
23147
- }
23148
- }
23149
- getHostElement() {
23150
- return this.elementRef.nativeElement;
23151
- }
23152
- _hasHostAttributes(...attributes) {
23153
- return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));
23154
- }
23155
- btnIdAndName() {
23156
- const uniqueId = nextUniqueId$o++;
23157
- return {
23158
- btnDefault: `gipi-split-button-default-${uniqueId}`,
23159
- btnMenu: `gipi-split-button-menu-${uniqueId}`,
23160
- };
23161
- }
23162
- getInternalButtonClass(isBtnDefault) {
23163
- return {
23164
- 'button-default': isBtnDefault,
23165
- 'button-menu': !isBtnDefault,
23166
- 'button-primary': this.isSplitButtonPrimary,
23167
- 'button-secondary': this.isSplitButtonSecondary,
23168
- 'button-tertiary': this.isSplitButtonTertiary,
23169
- 'button-action': this.isSplitButtonAction,
23170
- };
23171
- }
23172
- showPopover() {
23173
- if (this.disabled || this.loading) {
23174
- return;
23175
- }
23176
- else {
23177
- this.popoverTrigger.openPopover();
23178
- }
23179
- }
23180
- closePopover() {
23181
- if (this.disabled || this.loading) {
23182
- return;
23183
- }
23184
- else {
23185
- this.popoverTrigger.closePopover();
23186
- }
23187
- }
23188
- handleClick(event) {
23189
- if (this.disabled || this.loading) {
23190
- return;
23191
- }
23192
- else {
23193
- this.onClick.emit(event);
23194
- this.closePopover();
23195
- event.stopPropagation();
23196
- }
23197
- }
23198
- handleFocus(event) {
23199
- if (this.disabled || this.loading) {
23200
- return;
23201
- }
23202
- else {
23203
- this.onFocus.emit(event);
23204
- event.stopPropagation();
23205
- }
23206
- }
23207
- handleBlur(event) {
23208
- if (this.disabled || this.loading) {
23209
- return;
23210
- }
23211
- else {
23212
- this.onBlur.emit(event);
23213
- event.stopPropagation();
23214
- }
23215
- }
23216
- handleClickBtnMenu(event) {
23217
- if (this.disabled || this.loading) {
23218
- return;
23219
- }
23220
- else {
23221
- if (!ObjectUtil.isNull(this.popoverTrigger)) {
23222
- this.popoverTrigger.togglePopover();
23223
- }
23224
- event.stopPropagation();
23225
- }
23226
- }
23227
- handleClickBtnSplitOption(option) {
23228
- if (this.disabled || this.loading || !option || option.disabled || !option.clickFn) {
23229
- return;
23230
- }
23231
- else {
23232
- option.clickFn();
23233
- this.closePopover();
23234
- }
23235
- }
23236
- onResize(event) {
23237
- if (this.popoverTrigger) {
23238
- this.popoverTrigger.closePopover();
23239
- event.stopPropagation();
23240
- }
23241
- }
23242
- };
23243
- GIPISplitButtonComponent.ctorParameters = () => [
23244
- { type: ElementRef }
23245
- ];
23246
- __decorate([
23247
- ViewChild(GIPIPopoverTrigger, { static: false }),
23248
- __metadata("design:type", GIPIPopoverTrigger)
23249
- ], GIPISplitButtonComponent.prototype, "popoverTrigger", void 0);
23250
- __decorate([
23251
- Input(),
23252
- __metadata("design:type", String)
23253
- ], GIPISplitButtonComponent.prototype, "id", void 0);
23254
- __decorate([
23255
- Input(),
23256
- __metadata("design:type", String)
23257
- ], GIPISplitButtonComponent.prototype, "name", void 0);
23258
- __decorate([
23259
- Input(),
23260
- __metadata("design:type", String)
23261
- ], GIPISplitButtonComponent.prototype, "type", void 0);
23262
- __decorate([
23263
- Input(),
23264
- __metadata("design:type", String)
23265
- ], GIPISplitButtonComponent.prototype, "ariaLabel", void 0);
23266
- __decorate([
23267
- Input(),
23268
- __metadata("design:type", String)
23269
- ], GIPISplitButtonComponent.prototype, "title", void 0);
23270
- __decorate([
23271
- Input(),
23272
- __metadata("design:type", String)
23273
- ], GIPISplitButtonComponent.prototype, "label", void 0);
23274
- __decorate([
23275
- Input(),
23276
- __metadata("design:type", String)
23277
- ], GIPISplitButtonComponent.prototype, "buttonClass", void 0);
23278
- __decorate([
23279
- Input(),
23280
- __metadata("design:type", Boolean)
23281
- ], GIPISplitButtonComponent.prototype, "disabled", void 0);
23282
- __decorate([
23283
- Input(),
23284
- __metadata("design:type", Boolean)
23285
- ], GIPISplitButtonComponent.prototype, "loading", void 0);
23286
- __decorate([
23287
- Input(),
23288
- __metadata("design:type", String)
23289
- ], GIPISplitButtonComponent.prototype, "tooltip", void 0);
23290
- __decorate([
23291
- Input('options'),
23292
- __metadata("design:type", Array)
23293
- ], GIPISplitButtonComponent.prototype, "splitOptions", void 0);
23294
- __decorate([
23295
- Output(),
23296
- __metadata("design:type", EventEmitter)
23297
- ], GIPISplitButtonComponent.prototype, "onOpenPopover", void 0);
23298
- __decorate([
23299
- Output(),
23300
- __metadata("design:type", EventEmitter)
23301
- ], GIPISplitButtonComponent.prototype, "onClosePopover", void 0);
23302
- __decorate([
23303
- Output('click'),
23304
- __metadata("design:type", EventEmitter)
23305
- ], GIPISplitButtonComponent.prototype, "onClick", void 0);
23306
- __decorate([
23307
- Output('focus'),
23308
- __metadata("design:type", EventEmitter)
23309
- ], GIPISplitButtonComponent.prototype, "onFocus", void 0);
23310
- __decorate([
23311
- Output('blur'),
23312
- __metadata("design:type", EventEmitter)
23313
- ], GIPISplitButtonComponent.prototype, "onBlur", void 0);
23314
- __decorate([
23315
- HostListener('window:resize', ['$event']),
23316
- __metadata("design:type", Function),
23317
- __metadata("design:paramtypes", [UIEvent]),
23318
- __metadata("design:returntype", void 0)
23319
- ], GIPISplitButtonComponent.prototype, "onResize", null);
23320
- GIPISplitButtonComponent = GIPISplitButtonComponent_1 = __decorate([
23321
- Component({
23322
- selector: `gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],
23323
- gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]`,
23324
- exportAs: 'gipiSplitButton',
23325
- template: "<div [matTooltip]=\"tooltip\"\n [class]=\"buttonClass || ''\"\n [class.button-base]=\"true\"\n [class.disabled]=\"disabled || loading\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\">\n <button [attr.id]=\"idBtnDefault\"\n [attr.name]=\"idBtnDefault\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(true)\"\n role=\"button\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n {{ label ? label : '' }}\n </button>\n <button [attr.id]=\"idBtnMenu\"\n [attr.name]=\"idBtnMenu\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(false)\"\n role=\"button\"\n (click)=\"handleClickBtnMenu($event)\">\n <mat-icon [@indicatorRotate]=\"popoverTrigger?.popoverOpen ? 'opened': 'closed'\"> expand_more </mat-icon>\n </button>\n</div>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"btn-popover-content\">\n <button class=\"btn-split-option\"\n *ngFor=\"let option of splitOptions\"\n [disabled]=\"option?.disabled\"\n (click)=\"handleClickBtnSplitOption(option)\">\n {{ option.label }}\n </button>\n </div>\n</gipi-popover>",
23326
- providers: [
23327
- {
23328
- provide: NG_VALUE_ACCESSOR,
23329
- useExisting: forwardRef(() => GIPISplitButtonComponent_1),
23330
- multi: true
23331
- }
23332
- ],
23333
- host: {
23334
- 'class': 'gipi-split-button',
23335
- '[attr.id]': 'id',
23336
- '[attr.name]': 'name',
23337
- },
23338
- animations: [
23339
- trigger('indicatorRotate', [
23340
- state('closed', style({ transform: 'rotate(0deg)' })),
23341
- state('opened', style({ transform: 'rotate(-180deg)' })),
23342
- transition('opened <=> closed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
23343
- ])
23344
- ],
23345
- styles: [".button-base{display:flex;flex-direction:row;justify-content:center;border-radius:4px;font-weight:600;font-size:1.4rem;line-height:1.6rem;cursor:pointer;outline:0;white-space:nowrap;text-decoration:none;vertical-align:middle;text-align:center;box-shadow:1px 1px 5px 0 rgba(0,0,0,.1);transition:.2s;width:100%;max-height:4rem;border:1px solid transparent;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button-base.disabled{cursor:not-allowed!important;box-shadow:none}.button-base>button{display:flex;align-items:center;justify-content:center;border:none;outline:0;box-shadow:none;width:100%;height:40px;padding:12px 16px;overflow:hidden;border-radius:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}.button-base>button:not(.disabled):active{opacity:.8}.button-base .button-default{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.button-base .button-menu{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.button-primary:not(:disabled),.button-primary:not(:disabled)>mat-icon{background-color:#e0313e;color:#fff;fill:#fff}.button-primary:not(:disabled).button-default,.button-primary:not(:disabled)>mat-icon.button-default{border-right:1px solid #9f232c}.button-primary:not(:disabled) svg,.button-primary:not(:disabled) svg g path,.button-primary:not(:disabled) svg path,.button-primary:not(:disabled)>mat-icon svg,.button-primary:not(:disabled)>mat-icon svg g path,.button-primary:not(:disabled)>mat-icon svg path{color:#fff;fill:#fff}.button-primary:disabled,.button-primary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-primary:disabled.button-default,.button-primary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-primary:disabled svg,.button-primary:disabled svg g path,.button-primary:disabled svg path,.button-primary:disabled>mat-icon svg,.button-primary:disabled>mat-icon svg g path,.button-primary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-primary:not(:disabled):hover,.button-primary:not(:disabled):hover>mat-icon{background-color:#cc2d38;color:#fff;fill:#fff}.button-primary:not(:disabled):hover svg,.button-primary:not(:disabled):hover svg g path,.button-primary:not(:disabled):hover svg path,.button-primary:not(:disabled):hover>mat-icon svg,.button-primary:not(:disabled):hover>mat-icon svg g path,.button-primary:not(:disabled):hover>mat-icon svg path{color:#fff;fill:#fff}.button-secondary{background-color:transparent}.button-secondary:not(:disabled),.button-secondary:not(:disabled)>mat-icon{border-color:#595959;color:#595959;fill:#595959}.button-secondary:not(:disabled).button-default,.button-secondary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-secondary:not(:disabled) svg,.button-secondary:not(:disabled) svg g path,.button-secondary:not(:disabled) svg path,.button-secondary:not(:disabled)>mat-icon svg,.button-secondary:not(:disabled)>mat-icon svg g path,.button-secondary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-secondary:disabled,.button-secondary:disabled>mat-icon{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-secondary:disabled.button-default,.button-secondary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-secondary:disabled svg,.button-secondary:disabled svg g path,.button-secondary:disabled svg path,.button-secondary:disabled>mat-icon svg,.button-secondary:disabled>mat-icon svg g path,.button-secondary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-secondary:not(:disabled):hover,.button-secondary:not(:disabled):hover>mat-icon{border-color:#595959;background-color:#e0e1e2;color:#595959;fill:#595959}.button-secondary:not(:disabled):hover svg,.button-secondary:not(:disabled):hover svg g path,.button-secondary:not(:disabled):hover svg path,.button-secondary:not(:disabled):hover>mat-icon svg,.button-secondary:not(:disabled):hover>mat-icon svg g path,.button-secondary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary{background-color:#e7ebee;box-shadow:none}.button-tertiary:not(:disabled),.button-tertiary:not(:disabled)>mat-icon{color:#595959;fill:#595959}.button-tertiary:not(:disabled).button-default,.button-tertiary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-tertiary:not(:disabled) svg,.button-tertiary:not(:disabled) svg g path,.button-tertiary:not(:disabled) svg path,.button-tertiary:not(:disabled)>mat-icon svg,.button-tertiary:not(:disabled)>mat-icon svg g path,.button-tertiary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary:disabled,.button-tertiary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-tertiary:disabled.button-default,.button-tertiary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-tertiary:disabled svg,.button-tertiary:disabled svg g path,.button-tertiary:disabled svg path,.button-tertiary:disabled>mat-icon svg,.button-tertiary:disabled>mat-icon svg g path,.button-tertiary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-tertiary:not(:disabled):hover,.button-tertiary:not(:disabled):hover>mat-icon{background-color:#e0e1e2;color:#595959;fill:#595959}.button-tertiary:not(:disabled):hover svg,.button-tertiary:not(:disabled):hover svg g path,.button-tertiary:not(:disabled):hover svg path,.button-tertiary:not(:disabled):hover>mat-icon svg,.button-tertiary:not(:disabled):hover>mat-icon svg g path,.button-tertiary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-action{background-color:transparent;box-shadow:none;display:flex;justify-content:flex-start!important}.button-action:not(:disabled),.button-action:not(:disabled)>mat-icon{color:#262626;fill:#262626}.button-action:not(:disabled).button-default,.button-action:not(:disabled)>mat-icon.button-default{border-right:1px solid #262626}.button-action:not(:disabled) svg,.button-action:not(:disabled) svg g path,.button-action:not(:disabled) svg path,.button-action:not(:disabled)>mat-icon svg,.button-action:not(:disabled)>mat-icon svg g path,.button-action:not(:disabled)>mat-icon svg path{color:#262626;fill:#262626}.button-action:disabled,.button-action:disabled>mat-icon{color:#9a9da2;fill:#9a9da2}.button-action:disabled.button-default,.button-action:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-action:disabled svg,.button-action:disabled svg g path,.button-action:disabled svg path,.button-action:disabled>mat-icon svg,.button-action:disabled>mat-icon svg g path,.button-action:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-action:not(:disabled):hover,.button-action:not(:disabled):hover>mat-icon{background-color:#f5f5f6;color:#262626;fill:#262626}.button-action:not(:disabled):hover svg,.button-action:not(:disabled):hover svg g path,.button-action:not(:disabled):hover svg path,.button-action:not(:disabled):hover>mat-icon svg,.button-action:not(:disabled):hover>mat-icon svg g path,.button-action:not(:disabled):hover>mat-icon svg path{color:#262626;fill:#262626}.disabled,:disabled{pointer-events:none!important}.btn-popover-content{display:flex;flex-direction:column;gap:.8rem;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}.btn-split-option{width:100%;padding:.8rem;border-radius:.4rem;border:1px solid transparent;text-align:left;outline:0;background-color:transparent;cursor:pointer}.btn-split-option:not(:disabled){color:#595959}.btn-split-option:disabled{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;cursor:not-allowed}.btn-split-option:not(:disabled):hover{border-color:#595959;background-color:#e0e1e2;color:#595959}"]
23346
- }),
23347
- __metadata("design:paramtypes", [ElementRef])
23348
- ], GIPISplitButtonComponent);
23349
-
23350
- var GIPITextareaComponent_1;
23351
- let nextUniqueId$p = 0;
23352
- let GIPITextareaComponent = GIPITextareaComponent_1 = class GIPITextareaComponent {
23353
- constructor(elementRef, _changeDetectorRef) {
23354
- this.elementRef = elementRef;
23355
- this._changeDetectorRef = _changeDetectorRef;
23356
- this._name = `gipi-textarea-${nextUniqueId$p++}`;
23357
- this.id = this._name;
23358
- this.name = this._name;
23359
- this.label = '';
23360
- this.placeholder = '';
23361
- this.cols = 20;
23362
- this.rows = 4;
23363
- this.help = '';
23364
- this.maxlength = 254;
23365
- this.minlength = 0;
23366
- this._resize = 'horizontal';
23367
- this._minHeight = '60px';
23368
- this._height = '60px';
23369
- this._maxHeight = 'auto';
23370
- this._autocomplete = 'off';
23371
- this._autofocus = false;
23372
- this._readOnly = false;
23373
- this._required = false;
23374
- this._disabled = false;
23375
- this._lowerCase = false;
23376
- this._upperCase = false;
23377
- this._spaceDrop = false;
23378
- this.onChange = () => { };
23379
- this.onTouched = () => { };
23380
- }
23381
- get resize() {
23382
- return this._resize;
23383
- }
23384
- set resize(value) {
23385
- if (value !== this.resize) {
23386
- this._resize = value.toLowerCase();
23387
- this._changeDetectorRef.detectChanges();
23388
- }
23389
- }
23390
- get minHeight() {
23391
- return this._minHeight;
23392
- }
23393
- set minHeight(value) {
23394
- if (value.trim().toUpperCase() === 'AUTO') {
23395
- this._minHeight = 'auto';
23396
- }
23397
- else {
23398
- this._minHeight = coerceCssPixelValue(value);
23399
- }
23400
- }
23401
- get height() {
23402
- return this._height;
23403
- }
23404
- set height(value) {
23405
- if (value.trim().toUpperCase() === 'AUTO') {
23406
- this._height = 'auto';
23407
- }
23408
- else {
23409
- this._height = coerceCssPixelValue(value);
23410
- }
23411
- }
23412
- get maxHeight() {
23413
- return this._maxHeight;
23414
- }
23415
- set maxHeight(value) {
23416
- if (value.trim().toUpperCase() === 'AUTO') {
23417
- this._maxHeight = 'auto';
23418
- }
23419
- else {
23420
- this._maxHeight = coerceCssPixelValue(value);
23421
- }
23422
- }
23423
- get autocomplete() {
23424
- return this._autocomplete;
23425
- }
23426
- set autocomplete(value) {
23427
- this._autocomplete = value;
23428
- }
23429
- get autofocus() {
23430
- return this._autofocus;
23431
- }
23432
- set autofocus(value) {
23433
- this._autofocus = coerceBooleanProperty(value);
23434
- }
23435
- get readOnly() {
23436
- return this._readOnly;
23437
- }
23438
- set readOnly(value) {
23439
- this._readOnly = coerceBooleanProperty(value);
23440
- }
23441
- get required() {
23442
- return this._required;
23443
- }
23444
- set required(value) {
23445
- this._required = coerceBooleanProperty(value);
23446
- }
23447
- get disabled() {
23448
- return this._disabled;
23449
- }
23450
- set disabled(value) {
23451
- this._disabled = coerceBooleanProperty(value);
23452
- }
23453
- get lowerCase() {
23454
- return this._lowerCase;
23455
- }
23456
- set lowerCase(value) {
23457
- this._lowerCase = coerceBooleanProperty(value);
23458
- }
23459
- get upperCase() {
23460
- return this._upperCase;
23461
- }
23462
- set upperCase(value) {
23463
- this._upperCase = coerceBooleanProperty(value);
23464
- }
23465
- get spaceDrop() {
23466
- return this._spaceDrop;
23467
- }
23468
- set spaceDrop(value) {
23469
- this._spaceDrop = coerceBooleanProperty(value);
23470
- }
23471
- get value() {
23472
- return this._value;
23473
- }
23474
- set value(value) {
23475
- let valueAux = value;
23476
- valueAux = this._checkSpaceDrop(valueAux);
23477
- valueAux = this._checkLowercase(valueAux);
23478
- valueAux = this._checkUppercase(valueAux);
23479
- this._value = valueAux;
23480
- this.onChange(this._value);
23481
- this.onTouched(this._value);
23482
- }
23483
- ngOnInit() { }
23484
- writeValue(value) {
23485
- this._value = value;
23486
- }
23487
- registerOnChange(fn) {
23488
- this.onChange = fn;
23489
- }
23490
- registerOnTouched(fn) {
23491
- this.onTouched = fn;
23492
- }
23493
- setDisabledState(isDisabled) {
23494
- this.disabled = isDisabled;
23495
- this._changeDetectorRef.markForCheck();
23496
- }
23497
- _checkSpaceDrop(value) {
23498
- if (this.spaceDrop && value) {
23499
- return value.replace(/\s/g, '');
23500
- }
23501
- return value;
23502
- }
23503
- _checkUppercase(value) {
23504
- if (this.upperCase && value) {
23505
- return value.toUpperCase();
23506
- }
23507
- return value;
23508
- }
23509
- _checkLowercase(value) {
23510
- if (this.lowerCase && value) {
23511
- return value.toLowerCase();
23584
+ _destroyPopup() {
23585
+ if (this._popupRef) {
23586
+ this._popupRef.dispose();
23587
+ this._popupRef = this._popupComponentRef = null;
23512
23588
  }
23513
- return value;
23589
+ }
23590
+ _setConnectedPositions(strategy) {
23591
+ const primaryX = this.xPosition === 'end' ? 'end' : 'start';
23592
+ const secondaryX = primaryX === 'start' ? 'end' : 'start';
23593
+ const primaryY = this.yPosition === 'above' ? 'bottom' : 'top';
23594
+ const secondaryY = primaryY === 'top' ? 'bottom' : 'top';
23595
+ return strategy.withPositions([
23596
+ {
23597
+ originX: primaryX,
23598
+ originY: secondaryY,
23599
+ overlayX: primaryX,
23600
+ overlayY: primaryY
23601
+ },
23602
+ {
23603
+ originX: primaryX,
23604
+ originY: primaryY,
23605
+ overlayX: primaryX,
23606
+ overlayY: secondaryY
23607
+ },
23608
+ {
23609
+ originX: secondaryX,
23610
+ originY: secondaryY,
23611
+ overlayX: secondaryX,
23612
+ overlayY: primaryY
23613
+ },
23614
+ {
23615
+ originX: secondaryX,
23616
+ originY: primaryY,
23617
+ overlayX: secondaryX,
23618
+ overlayY: secondaryY
23619
+ }
23620
+ ]);
23514
23621
  }
23515
23622
  };
23516
- GIPITextareaComponent.ctorParameters = () => [
23623
+ MonthYearPickerComponent.ctorParameters = () => [
23517
23624
  { type: ElementRef },
23518
- { type: ChangeDetectorRef }
23625
+ { type: ChangeDetectorRef },
23626
+ { type: Overlay },
23627
+ { type: NgZone },
23628
+ { type: ViewContainerRef },
23629
+ { type: undefined, decorators: [{ type: Inject, args: [GIPI_MONTH_YEAR_SCROLL_STRATEGY,] }] },
23630
+ { type: Directionality, decorators: [{ type: Optional }] },
23631
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
23519
23632
  ];
23520
23633
  __decorate([
23521
- Input(),
23522
- __metadata("design:type", String)
23523
- ], GIPITextareaComponent.prototype, "id", void 0);
23634
+ ViewChild('inputMonthYearContent', { static: false, }),
23635
+ __metadata("design:type", ElementRef)
23636
+ ], MonthYearPickerComponent.prototype, "inputMonthYearContentRef", void 0);
23524
23637
  __decorate([
23525
23638
  Input(),
23526
23639
  __metadata("design:type", String)
23527
- ], GIPITextareaComponent.prototype, "name", void 0);
23640
+ ], MonthYearPickerComponent.prototype, "id", void 0);
23528
23641
  __decorate([
23529
23642
  Input(),
23530
23643
  __metadata("design:type", String)
23531
- ], GIPITextareaComponent.prototype, "label", void 0);
23644
+ ], MonthYearPickerComponent.prototype, "name", void 0);
23532
23645
  __decorate([
23533
23646
  Input(),
23534
23647
  __metadata("design:type", String)
23535
- ], GIPITextareaComponent.prototype, "placeholder", void 0);
23648
+ ], MonthYearPickerComponent.prototype, "label", void 0);
23536
23649
  __decorate([
23537
23650
  Input(),
23538
- __metadata("design:type", Number)
23539
- ], GIPITextareaComponent.prototype, "cols", void 0);
23651
+ __metadata("design:type", String)
23652
+ ], MonthYearPickerComponent.prototype, "placeholder", void 0);
23540
23653
  __decorate([
23541
23654
  Input(),
23542
- __metadata("design:type", Number)
23543
- ], GIPITextareaComponent.prototype, "rows", void 0);
23655
+ __metadata("design:type", String)
23656
+ ], MonthYearPickerComponent.prototype, "help", void 0);
23544
23657
  __decorate([
23545
23658
  Input(),
23546
23659
  __metadata("design:type", String)
23547
- ], GIPITextareaComponent.prototype, "help", void 0);
23660
+ ], MonthYearPickerComponent.prototype, "locale", void 0);
23548
23661
  __decorate([
23549
23662
  Input(),
23550
23663
  __metadata("design:type", Number)
23551
- ], GIPITextareaComponent.prototype, "maxlength", void 0);
23664
+ ], MonthYearPickerComponent.prototype, "year", void 0);
23552
23665
  __decorate([
23553
23666
  Input(),
23554
23667
  __metadata("design:type", Number)
23555
- ], GIPITextareaComponent.prototype, "minlength", void 0);
23556
- __decorate([
23557
- Input(),
23558
- __metadata("design:type", String),
23559
- __metadata("design:paramtypes", [String])
23560
- ], GIPITextareaComponent.prototype, "resize", null);
23668
+ ], MonthYearPickerComponent.prototype, "month", void 0);
23561
23669
  __decorate([
23562
23670
  Input(),
23563
- __metadata("design:type", String),
23564
- __metadata("design:paramtypes", [String])
23565
- ], GIPITextareaComponent.prototype, "minHeight", null);
23671
+ __metadata("design:type", Boolean)
23672
+ ], MonthYearPickerComponent.prototype, "multiple", void 0);
23566
23673
  __decorate([
23567
23674
  Input(),
23568
- __metadata("design:type", String),
23569
- __metadata("design:paramtypes", [String])
23570
- ], GIPITextareaComponent.prototype, "height", null);
23675
+ __metadata("design:type", String)
23676
+ ], MonthYearPickerComponent.prototype, "xPosition", void 0);
23571
23677
  __decorate([
23572
23678
  Input(),
23573
- __metadata("design:type", String),
23574
- __metadata("design:paramtypes", [String])
23575
- ], GIPITextareaComponent.prototype, "maxHeight", null);
23679
+ __metadata("design:type", String)
23680
+ ], MonthYearPickerComponent.prototype, "yPosition", void 0);
23576
23681
  __decorate([
23577
23682
  Input(),
23578
- __metadata("design:type", String),
23579
- __metadata("design:paramtypes", [String])
23580
- ], GIPITextareaComponent.prototype, "autocomplete", null);
23683
+ __metadata("design:type", String)
23684
+ ], MonthYearPickerComponent.prototype, "calendarView", void 0);
23581
23685
  __decorate([
23582
23686
  Input(),
23583
23687
  __metadata("design:type", Boolean),
23584
23688
  __metadata("design:paramtypes", [Boolean])
23585
- ], GIPITextareaComponent.prototype, "autofocus", null);
23689
+ ], MonthYearPickerComponent.prototype, "opened", null);
23586
23690
  __decorate([
23587
23691
  Input(),
23588
23692
  __metadata("design:type", Boolean),
23589
23693
  __metadata("design:paramtypes", [Boolean])
23590
- ], GIPITextareaComponent.prototype, "readOnly", null);
23694
+ ], MonthYearPickerComponent.prototype, "required", null);
23591
23695
  __decorate([
23592
23696
  Input(),
23593
23697
  __metadata("design:type", Boolean),
23594
23698
  __metadata("design:paramtypes", [Boolean])
23595
- ], GIPITextareaComponent.prototype, "required", null);
23699
+ ], MonthYearPickerComponent.prototype, "disabled", null);
23596
23700
  __decorate([
23597
23701
  Input(),
23598
- __metadata("design:type", Boolean),
23599
- __metadata("design:paramtypes", [Boolean])
23600
- ], GIPITextareaComponent.prototype, "disabled", null);
23702
+ __metadata("design:type", MonthYear),
23703
+ __metadata("design:paramtypes", [MonthYear])
23704
+ ], MonthYearPickerComponent.prototype, "min", null);
23601
23705
  __decorate([
23602
23706
  Input(),
23603
- __metadata("design:type", Boolean),
23604
- __metadata("design:paramtypes", [Boolean])
23605
- ], GIPITextareaComponent.prototype, "lowerCase", null);
23707
+ __metadata("design:type", MonthYear),
23708
+ __metadata("design:paramtypes", [MonthYear])
23709
+ ], MonthYearPickerComponent.prototype, "max", null);
23606
23710
  __decorate([
23607
23711
  Input(),
23608
- __metadata("design:type", Boolean),
23609
- __metadata("design:paramtypes", [Boolean])
23610
- ], GIPITextareaComponent.prototype, "upperCase", null);
23712
+ __metadata("design:type", MonthYear),
23713
+ __metadata("design:paramtypes", [MonthYear])
23714
+ ], MonthYearPickerComponent.prototype, "value", null);
23611
23715
  __decorate([
23612
- Input(),
23613
- __metadata("design:type", Boolean),
23614
- __metadata("design:paramtypes", [Boolean])
23615
- ], GIPITextareaComponent.prototype, "spaceDrop", null);
23716
+ Output('opened'),
23717
+ __metadata("design:type", EventEmitter)
23718
+ ], MonthYearPickerComponent.prototype, "openedStream", void 0);
23616
23719
  __decorate([
23617
- Input(),
23618
- __metadata("design:type", Object),
23619
- __metadata("design:paramtypes", [Object])
23620
- ], GIPITextareaComponent.prototype, "value", null);
23621
- GIPITextareaComponent = GIPITextareaComponent_1 = __decorate([
23720
+ Output('closed'),
23721
+ __metadata("design:type", EventEmitter)
23722
+ ], MonthYearPickerComponent.prototype, "closedStream", void 0);
23723
+ MonthYearPickerComponent = MonthYearPickerComponent_1 = __decorate([
23622
23724
  Component({
23623
- selector: 'gipi-textarea',
23624
- exportAs: 'gipiTextarea',
23625
- template: "<label class=\"textarea-label\"\n *ngIf=\"label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n</label>\n\n<textarea class=\"textarea-element\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n [class.resize-none]=\"resize === 'none'\"\n [class.resize-both]=\"resize === 'both'\"\n [class.resize-horizontal]=\"resize === 'horizontal'\"\n [class.resize-vertical]=\"resize === 'vertical'\"\n [style.min-height.px]=\"minHeight\"\n [style.height.px]=\"height\"\n [style.max-height.px]=\"maxHeight\"\n [minlength]=\"minlength\"\n [maxlength]=\"maxlength\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"readOnly\"\n [attr.autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [(ngModel)]=\"value\"\n [value]=\"value\">\n </textarea>\n\n<small *ngIf=\"help\"\n class=\"textarea-help\">\n {{ help }}\n</small>",
23725
+ selector: 'gipi-month-year-picker',
23726
+ template: "<div class=\"input-wrapper\">\n\n <label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n </label>\n\n <div class=\"input-content\"\n #inputMonthYearContent\n (click)=\"open()\">\n <input matInput\n class=\"input-element\"\n type=\"text\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"true\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [ngModel]=\"valueLabel\"\n (click)=\"open()\" />\n\n <div class=\"suffix\">\n <button #button\n mat-icon-button\n type=\"button\"\n class=\"btn-month-year-toggle\"\n [attr.aria-label]=\"'Abrir calend\u00E1rio mensal'\"\n [disabled]=\"disabled\"\n (click)=\"open()\">\n <svg class=\"month-year-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\">\n <path\n d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\" />\n </svg>\n </button>\n </div>\n </div>\n\n <small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n </small>\n</div>",
23626
23727
  providers: [
23627
23728
  {
23628
23729
  provide: NG_VALUE_ACCESSOR,
23629
- useExisting: forwardRef(() => GIPITextareaComponent_1),
23730
+ useExisting: forwardRef(() => MonthYearPickerComponent_1),
23630
23731
  multi: true
23631
- }
23732
+ },
23632
23733
  ],
23633
23734
  host: {
23634
- 'class': 'gipi-textarea',
23735
+ 'class': 'gipi-month-year-picker',
23635
23736
  },
23636
23737
  changeDetection: ChangeDetectionStrategy.OnPush,
23637
- styles: [":host{display:flex;min-width:0;max-width:100%;flex:1;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;caret-color:#696969;max-height:12rem;min-height:6rem;resize:vertical;outline:0;overflow:auto}:host .textarea-element:not(:disabled):hover{border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:hover,:host .textarea-element:not(:disabled):invalid:enabled:hover{border-color:#e07f62}:host .textarea-element:not(:disabled):enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled,:host .textarea-element:not(:disabled):invalid:enabled{border-color:#d14014}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:focus,:host .textarea-element:not(:disabled):invalid:enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}:host .textarea-element:disabled{color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .textarea-element.resize-none{resize:none}:host .textarea-element.resize-both{resize:both}:host .textarea-element.resize-horizontal{resize:horizontal}:host .textarea-element.resize-vertical{resize:vertical}:host .textarea-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
23738
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-year-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-icon-button .month-year-toggle-default-icon{margin:auto}.btn-month-year-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}"]
23638
23739
  }),
23740
+ __param(5, Inject(GIPI_MONTH_YEAR_SCROLL_STRATEGY)),
23741
+ __param(6, Optional()),
23742
+ __param(7, Optional()), __param(7, Inject(DOCUMENT)),
23639
23743
  __metadata("design:paramtypes", [ElementRef,
23640
- ChangeDetectorRef])
23641
- ], GIPITextareaComponent);
23744
+ ChangeDetectorRef,
23745
+ Overlay,
23746
+ NgZone,
23747
+ ViewContainerRef, Object, Directionality, Object])
23748
+ ], MonthYearPickerComponent);
23749
+
23750
+ let MonthYearPickerModule = class MonthYearPickerModule {
23751
+ };
23752
+ MonthYearPickerModule = __decorate([
23753
+ NgModule({
23754
+ imports: [
23755
+ CommonModule,
23756
+ MatButtonModule,
23757
+ MatDialogModule,
23758
+ OverlayModule,
23759
+ A11yModule,
23760
+ PortalModule,
23761
+ MatIconModule,
23762
+ FormsModule,
23763
+ ReactiveFormsModule,
23764
+ ],
23765
+ exports: [
23766
+ ScrollingModule,
23767
+ CalendarMonthYearComponent,
23768
+ MonthYearPickerComponent,
23769
+ ],
23770
+ declarations: [
23771
+ CalendarMonthYearComponent,
23772
+ MonthYearPickerComponent,
23773
+ ],
23774
+ providers: [
23775
+ GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER,
23776
+ ],
23777
+ entryComponents: [
23778
+ CalendarMonthYearComponent,
23779
+ ],
23780
+ })
23781
+ ], MonthYearPickerModule);
23642
23782
 
23643
23783
  let INJECTOR;
23644
23784
  const GIPIComponents = [
@@ -23686,6 +23826,7 @@ const GIPIComponents = [
23686
23826
  GIPICardComponent,
23687
23827
  GIPITextareaComponent,
23688
23828
  GIPISplitButtonComponent,
23829
+ GIPISkeletonComponent,
23689
23830
  // Tabs
23690
23831
  GIPITabGroupComponent,
23691
23832
  GIPITabComponent,
@@ -23705,6 +23846,7 @@ const GIPIDirectives = [
23705
23846
  GIPIInfiniteScrollDirective,
23706
23847
  GIPIPaginationControlsDirective,
23707
23848
  GIPIDynamicTabDirective,
23849
+ GIPISkeletonDirective,
23708
23850
  ];
23709
23851
  const GIPIPipes = [
23710
23852
  GIPIPaginatePipe,
@@ -24165,36 +24307,37 @@ let AuthenticationService = class AuthenticationService extends AbstractService
24165
24307
  super();
24166
24308
  this.router = router;
24167
24309
  this.http = http;
24168
- this.tokenSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('token')));
24169
- this.token = this.tokenSubject.asObservable();
24310
+ this._tokenSubject$ = new BehaviorSubject(JSON.parse(localStorage.getItem('token')));
24311
+ this.token$ = this._tokenSubject$.asObservable();
24170
24312
  }
24171
- login(user) {
24313
+ login(username, password) {
24172
24314
  const body = new HttpParams()
24173
24315
  .set('grant_type', 'password')
24174
- .set('username', user.username)
24175
- .set('password', user.password);
24176
- return this.http.post('api/authenticator/oauth/token', body, this.options()).pipe(map(accessToken => this.setCurrentUser(accessToken)));
24316
+ .set('username', username)
24317
+ .set('password', password);
24318
+ return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', String(true)))).pipe(map((token) => {
24319
+ if (this.isValidToken(token)) {
24320
+ this.setSession(token);
24321
+ }
24322
+ return token;
24323
+ }), takeUntil(this.onDestroy), catchError(this.handleError));
24177
24324
  }
24178
24325
  logout() {
24179
- return __awaiter(this, void 0, void 0, function* () {
24180
- yield this.revokeToken().toPromise().then(() => {
24181
- this.removeToken();
24182
- this.router.navigate(['/oauth/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });
24183
- });
24326
+ this.revokeToken().subscribe(_ => {
24327
+ this.removeSession();
24328
+ this.router.navigate(['/oauth/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });
24329
+ }, error => {
24330
+ throw new Error(error);
24184
24331
  });
24185
24332
  }
24186
- removeToken() {
24187
- localStorage.removeItem('token');
24188
- this.tokenSubject.next(null);
24189
- }
24190
24333
  refreshToken(additionalParams) {
24191
24334
  let body = new HttpParams()
24192
24335
  .set('grant_type', 'refresh_token')
24193
- .set('refresh_token', this.tokenValue.refreshToken);
24336
+ .set('refresh_token', this.token.refreshToken);
24194
24337
  if (!ObjectUtil.isNull(additionalParams)) {
24195
24338
  additionalParams.forEach((value, key) => body = body.append(key, value));
24196
24339
  }
24197
- return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.setCurrentUser(accessToken)));
24340
+ return this.http.post('api/authenticator/oauth/token', body, this.options(this.buildParams(), this.buildHeaders().append('skip', 'true'))).pipe(map(accessToken => this.setSession(accessToken)), takeUntil(this.onDestroy), catchError(this.handleError));
24198
24341
  }
24199
24342
  revokeToken(token) {
24200
24343
  let lHttpHeaders = null;
@@ -24203,27 +24346,32 @@ let AuthenticationService = class AuthenticationService extends AbstractService
24203
24346
  .append('Authorization', token.accessToken)
24204
24347
  .append('skip', 'true');
24205
24348
  }
24206
- return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders));
24207
- }
24208
- isValidToken(token) {
24209
- if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
24210
- return new Date(token.expiration).valueOf() > new Date().valueOf();
24211
- }
24212
- return false;
24349
+ return this.http.post('api/authenticator/oauth/token/revoke', {}, this.options(null, lHttpHeaders)).pipe(takeUntil(this.onDestroy), catchError(this.handleError));
24213
24350
  }
24214
- setCurrentUser(token) {
24215
- if (token && token.accessToken) {
24351
+ setSession(token) {
24352
+ if (this.isValidToken(token)) {
24216
24353
  localStorage.setItem('token', JSON.stringify(token));
24217
- this.tokenSubject.next(token);
24354
+ this._tokenSubject$.next(token);
24218
24355
  }
24219
24356
  return token;
24220
24357
  }
24221
- get tokenValue() {
24222
- return this.tokenSubject.value;
24358
+ removeSession() {
24359
+ localStorage.removeItem('token');
24360
+ sessionStorage.clear();
24361
+ }
24362
+ isValidToken(token) {
24363
+ if (!ObjectUtil.isNull(token) && !ObjectUtil.isNull(token.expiration)) {
24364
+ const tokenExpiration = moment$6(token.expiration);
24365
+ return moment$6().isBefore(tokenExpiration);
24366
+ }
24367
+ return false;
24223
24368
  }
24224
- get tokenValueLocalStorage() {
24369
+ get token() {
24225
24370
  const token = localStorage.getItem('token');
24226
- return !StringUtil.isEmpty(token) ? JSON.parse(token) : null;
24371
+ if (StringUtil.isEmpty(token)) {
24372
+ return null;
24373
+ }
24374
+ return JSON.parse(token);
24227
24375
  }
24228
24376
  buildHeaders() {
24229
24377
  return new HttpHeaders()
@@ -24245,12 +24393,12 @@ AuthenticationService = __decorate([
24245
24393
  ], AuthenticationService);
24246
24394
 
24247
24395
  let AuthInterceptor = class AuthInterceptor {
24248
- constructor(authenticationService) {
24249
- this.authenticationService = authenticationService;
24396
+ constructor(_authenticationService) {
24397
+ this._authenticationService = _authenticationService;
24250
24398
  }
24251
24399
  intercept(request, next) {
24252
- const token = this.authenticationService.tokenValue;
24253
- if (token && token.accessToken && !request.headers.get('skip')) {
24400
+ const token = this._authenticationService.token;
24401
+ if (!ObjectUtil.isNull(token) && !StringUtil.isEmpty(token.accessToken) && !request.headers.get('skip')) {
24254
24402
  request = request.clone({
24255
24403
  setHeaders: {
24256
24404
  Authorization: `Bearer ${token.accessToken}`
@@ -25664,25 +25812,20 @@ var LocalTimeEnum;
25664
25812
  })(LocalTimeEnum || (LocalTimeEnum = {}));
25665
25813
 
25666
25814
  let AuthGuard = class AuthGuard {
25667
- constructor(_router, _authenticationService) {
25815
+ constructor(_router, _matDialog, _authenticationService) {
25668
25816
  this._router = _router;
25817
+ this._matDialog = _matDialog;
25669
25818
  this._authenticationService = _authenticationService;
25670
25819
  }
25671
25820
  canActivate(route, state) {
25672
- if (!ObjectUtil.isNull(this._authenticationService.tokenValueLocalStorage)) {
25673
- return this._authenticationService.token.pipe(map(token => {
25674
- if (this._authenticationService.isValidToken(token)) {
25675
- return true;
25676
- }
25677
- else if (!ObjectUtil.isNull(token)) {
25678
- this._authenticationService.removeToken();
25679
- }
25680
- this._router.navigate(['oauth/login'], { queryParams: { returnUrl: state.url } });
25681
- return false;
25682
- }));
25821
+ const token = this._authenticationService.token;
25822
+ if (!this._authenticationService.isValidToken(token)) {
25823
+ this._authenticationService.removeSession();
25824
+ this._matDialog.closeAll();
25825
+ this._router.navigate(['oauth/login']);
25826
+ return of(false);
25683
25827
  }
25684
- this._router.navigate(['oauth/login'], { queryParams: { returnUrl: state.url } });
25685
- return of(false);
25828
+ return of(true);
25686
25829
  }
25687
25830
  canActivateChild(route, state) {
25688
25831
  return this.canActivate(route, state);
@@ -25690,95 +25833,71 @@ let AuthGuard = class AuthGuard {
25690
25833
  };
25691
25834
  AuthGuard.ctorParameters = () => [
25692
25835
  { type: Router },
25836
+ { type: MatDialog$1 },
25693
25837
  { type: AuthenticationService }
25694
25838
  ];
25695
- AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(Router), ɵɵinject(AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
25839
+ AuthGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function AuthGuard_Factory() { return new AuthGuard(ɵɵinject(Router), ɵɵinject(MatDialog$1), ɵɵinject(AuthenticationService)); }, token: AuthGuard, providedIn: "root" });
25696
25840
  AuthGuard = __decorate([
25697
25841
  Injectable({ providedIn: 'root' }),
25698
25842
  __metadata("design:paramtypes", [Router,
25843
+ MatDialog$1,
25699
25844
  AuthenticationService])
25700
25845
  ], AuthGuard);
25701
25846
 
25702
25847
  let PermissionGuard = class PermissionGuard {
25703
- constructor(_router, _authenticationService) {
25848
+ constructor(_router, _matDialog, _authenticationService) {
25704
25849
  this._router = _router;
25850
+ this._matDialog = _matDialog;
25705
25851
  this._authenticationService = _authenticationService;
25706
25852
  }
25707
- canActivate(route, state) {
25708
- if (!ObjectUtil.isNull(this._authenticationService.tokenValueLocalStorage)) {
25709
- return this._authenticationService.token.pipe(map(token => {
25710
- if (this._authenticationService.isValidToken(token)
25711
- && (!this.hasPermission(token.user.menuList, state.url) && !this.hasAuthority(token.user, route.data.authority))) {
25712
- this._router.navigate(['errors/403']);
25713
- return false;
25714
- }
25715
- return true;
25716
- }));
25853
+ _hasAuthority(user, permission) {
25854
+ if (ObjectUtil.isNull(user) || StringUtil.isEmpty(permission)) {
25855
+ return false;
25717
25856
  }
25718
- this._router.navigate(['errors/403']);
25719
- return of(false);
25720
- }
25721
- hasAuthority(user, permission) {
25722
25857
  return !!user.authorities.find(authority => authority.authority.match(permission));
25723
25858
  }
25724
- hasPermission(menuList, url) {
25859
+ _hasPermission(menuList, url) {
25725
25860
  for (const menu of menuList) {
25726
25861
  if (url.split('/').pop() === menu.route) {
25727
25862
  return true;
25728
25863
  }
25729
25864
  else if (!ArrayUtil.isEmpty(menu.menuList)) {
25730
- return this.hasPermission(menu.menuList, url);
25865
+ return this._hasPermission(menu.menuList, url);
25731
25866
  }
25732
25867
  }
25733
25868
  return false;
25734
25869
  }
25735
- canActivateChild(route, state) {
25736
- return this.canActivate(route, state);
25737
- }
25738
- };
25739
- PermissionGuard.ctorParameters = () => [
25740
- { type: Router },
25741
- { type: AuthenticationService }
25742
- ];
25743
- PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Router), ɵɵinject(AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
25744
- PermissionGuard = __decorate([
25745
- Injectable({ providedIn: 'root' }),
25746
- __metadata("design:paramtypes", [Router,
25747
- AuthenticationService])
25748
- ], PermissionGuard);
25749
-
25750
- let PublicGuard = class PublicGuard {
25751
- constructor(_router, _authenticationService) {
25752
- this._router = _router;
25753
- this._authenticationService = _authenticationService;
25754
- }
25755
25870
  canActivate(route, state) {
25756
- if (!ObjectUtil.isNull(this._authenticationService.tokenValueLocalStorage)) {
25757
- return this._authenticationService.token.pipe(map(token => {
25758
- if (this._authenticationService.isValidToken(token)) {
25759
- this._router.navigate(['dashboard']);
25760
- return false;
25761
- }
25762
- return true;
25763
- }));
25871
+ const token = this._authenticationService.token;
25872
+ if (!this._authenticationService.isValidToken(token)) {
25873
+ this._authenticationService.removeSession();
25874
+ this._matDialog.closeAll();
25875
+ this._router.navigate(['oauth/login']);
25876
+ return of(false);
25877
+ }
25878
+ const hasPermission = this._hasPermission(token.user.menuList, state.url) && this._hasAuthority(token.user, route.data.authority);
25879
+ if (!hasPermission) {
25880
+ this._router.navigate(['errors/403']);
25881
+ return of(false);
25764
25882
  }
25765
- this._router.navigate(['dashboard']);
25766
- return of(false);
25883
+ return of(true);
25767
25884
  }
25768
25885
  canActivateChild(route, state) {
25769
25886
  return this.canActivate(route, state);
25770
25887
  }
25771
25888
  };
25772
- PublicGuard.ctorParameters = () => [
25889
+ PermissionGuard.ctorParameters = () => [
25773
25890
  { type: Router },
25891
+ { type: MatDialog$1 },
25774
25892
  { type: AuthenticationService }
25775
25893
  ];
25776
- PublicGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PublicGuard_Factory() { return new PublicGuard(ɵɵinject(Router), ɵɵinject(AuthenticationService)); }, token: PublicGuard, providedIn: "root" });
25777
- PublicGuard = __decorate([
25894
+ PermissionGuard.ngInjectableDef = ɵɵdefineInjectable({ factory: function PermissionGuard_Factory() { return new PermissionGuard(ɵɵinject(Router), ɵɵinject(MatDialog$1), ɵɵinject(AuthenticationService)); }, token: PermissionGuard, providedIn: "root" });
25895
+ PermissionGuard = __decorate([
25778
25896
  Injectable({ providedIn: 'root' }),
25779
25897
  __metadata("design:paramtypes", [Router,
25898
+ MatDialog$1,
25780
25899
  AuthenticationService])
25781
- ], PublicGuard);
25900
+ ], PermissionGuard);
25782
25901
 
25783
25902
  class AbstractModel {
25784
25903
  }
@@ -26792,5 +26911,5 @@ const MAT_NATIVE_DATE_FORMATS = {
26792
26911
  * Generated bundle index. Do not edit.
26793
26912
  */
26794
26913
 
26795
- export { APP_MESSAGES, AbstractComponent, AbstractCrudComponent, AbstractCrudService, AbstractDTO, AbstractFindComponent, AbstractFindService, AbstractModel, AbstractService, AlertComponent, Archive, ArrayUtil, AuthGuard, AuthInterceptor, AuthenticationService, BaseUser, BreakpointEnum, BreakpointObserverService, BrowserUtil, ButtonComponent, CalendarMonthYearComponent, CardComponent, ChartDTO, CheckboxComponent, ConfirmationDTO, ConfirmationService, CoreModule, CriteriaOperationEnum, CriteriaSortDirectionEnum, CurrencyUtil, DEFAULT_MESSAGES, DateAdapter, DateRange, DateRangePickerComponent, DateUtil, DatepickerModule, DefaultMatCalendarRangeStrategy, DialogDTO, DialogService, DocumentUtil, EmailUtil, ErrorInterceptor, FilterDTO, GIPIAbstractComponent, GIPIAbstractCrudComponent, GIPIAbstractCrudService, GIPIAbstractDTO, GIPIAbstractFilterModel, GIPIAbstractFindComponent, GIPIAbstractFormComponent, GIPIAbstractModel, GIPIAbstractService, GIPIActionRowComponent, GIPIAppliedFilter, GIPIAutowired, GIPIBadgeComponent, GIPIBaseService, GIPIBreakpointService, GIPIButtonComponent, GIPICardComponent, GIPIColDirective, GIPIConfirmationDialogComponent, GIPIConnectedOverlayScrollHandler, GIPIDomHandler, GIPIDropdownMenuComponent, GIPIDynamicTabDirective, GIPIEmptyStateComponent, GIPIExpansionPanelComponent, GIPIFileDragAndDropComponent, GIPIFileService, GIPIFooterComponent, GIPIFormFieldComponent, GIPIHelpfulTipComponent, GIPIInfiniteScrollDirective, GIPIInputCheckboxComponent, GIPIInputCurrencyComponent, GIPIInputMonthPickerComponent, GIPIInputSearchComponent, GIPIInputSelectComponent, GIPIInputSelectEnumComponent, GIPIInputSelectListboxComponent, GIPIInputSelectPagedComponent, GIPIInputSelectRadioComponent, GIPINotificationComponent, GIPINoveltiesComponent, GIPIOverlayComponent, GIPIOverlayService, GIPIPageEvent, GIPIPageModel, GIPIPaginatePipe, GIPIPaginationControlsDirective, GIPIPaginationService, GIPIPasswordRequerimentsComponent, GIPIPopoverComponent, GIPIPopoverTarget, GIPIPopoverTrigger, GIPIRadioGroupComponent, GIPIRangePageComponent, GIPIRangeSliderComponent, GIPIResizeService, GIPIRowDirective, GIPISelectButtonComponent, GIPISelectComponent, GIPISessionStorageService, GIPISidenavComponent, GIPISidenavContainerComponent, GIPISlideToggleComponent, GIPISortDirectionEnum, GIPISortModel, GIPISplitButtonComponent, GIPIStepperComponent, GIPITabComponent, GIPITabGroupComponent, GIPITableBodyComponent, GIPITableComponent, GIPITableFooterComponent, GIPITableHeaderComponent, GIPITablePaginationComponent, GIPITableProgressBarComponent, GIPITemplateDirective, GIPITextareaComponent, GIPIToolbarComponent, GIPITopNavComponent, GIPIUserProfileComponent, GIPI_BREAKPOINTS, GIPI_CUSTOM_BREAKPOINTS_PROVIDER, GIPI_MONTH_YEAR_SCROLL_STRATEGY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER, INJECTOR, IconComponent, InputComponent, InputCurrencyComponent, InputFileComponent, InputListboxDTO, ItssTemplate, LoadingComponent, LoadingOverlayComponent, LocalTimeEnum, LocalTimePipe, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_DATEPICKER_VALIDATORS, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_DATE_LOCALE_PROVIDER, MAT_DATE_RANGE_SELECTION_STRATEGY, MAT_NATIVE_DATE_FORMATS, MAT_RANGE_DATE_SELECTION_MODEL_FACTORY, MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER, MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY, MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER, MatCalendar, MatCalendarBody, MatCalendarCell, MatCalendarHeader, MatDateRangeInput, MatDateRangePicker, MatDateSelectionModel, MatDatepicker, MatDatepickerContent, MatDatepickerInput, MatDatepickerInputEvent, MatDatepickerIntl, MatDatepickerToggle, MatDatepickerToggleIcon, MatEndDate, MatMonthView, MatMultiYearView, MatRangeDateSelectionModel, MatSingleDateSelectionModel, MatStartDate, MatYearView, MaxRangeDirective, MaxRangeSelectionStrategy, MenuDTO, MenuTypeEnum, MessageDTO, MessageService, MonthPickerModel, MonthYear, MonthYearPickerComponent, MonthYearPickerModule, MultitenantModel, NativeDateAdapter, NavService, NumberUtil, ObjectUtil, OverlayPanelComponent, POINTS_NAME, PageDTO, PasswordUtil, Permission, PermissionGuard, PhoneMaskDirective, PhoneUtil, Platform, PopoverComponent, PopoverRef, PopoverService, PresetRangeComponent, PublicGuard, RadioButtonEnum, RadioGroupEntityComponent, RadioGroupEnumComponent, RangePage, Role, SelectButtonAddComponent, SelectButtonNextBatchComponent, SelectEntityComponent, SelectEntityPagedComponent, SelectEnumComponent, SelectMonthPeriodComponent, SelectNoEntriesFoundDirective, SelectSearchClearDirective, SelectSearchComponent, SharedModule, SlideToggleComponent, SortDTO, SortDirectionEnum, SortModel, StepperComponent, StringUtil, SvgRegisterService, TabDTO, TabModel, TableColumnBuilder, TableColumnBuilderModel, TableColumnDTO, TableColumnModel, TableComponent, TableScrolledComponent, TimeUtil, TokenDTO, URLParamsUtil, UUIDUtil, customCurrencyMaskConfig, getReflectType, gridResponsiveMap, matDatepickerAnimations, nextUniqueId$l as nextUniqueId, siderResponsiveMap, transformPopover, yearsPerPage$1 as yearsPerPage, yearsPerRow, ƟCMP, ƟFAC, ƟPROV, ɵ0$3 as ɵ0, MAT_DATE_RANGE_INPUT_PARENT as ɵa, MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY as ɵb, MAT_CALENDAR_RANGE_STRATEGY_PROVIDER as ɵc, MatDatepickerBase as ɵd, MAT_FORM_FIELD as ɵe, MatDatepickerInputBase as ɵf, GIPINgConfig as ɵg, GIPIChipsComponent as ɵh, GIPIFileDragAndDropDirective as ɵi, TextareaComponent as ɵj, UpperCaseDirective as ɵk, LowerCaseDirective as ɵl, SpaceDropDirective as ɵm, InputSelectInfiniteScrollDirective as ɵn, ITSS_SELECT_SEARCH_DEFAULT_OPTIONS as ɵo, MaterialModule as ɵq, DatepickerComponent as ɵr };
26914
+ export { APP_MESSAGES, AbstractComponent, AbstractCrudComponent, AbstractCrudService, AbstractDTO, AbstractFindComponent, AbstractFindService, AbstractModel, AbstractService, AlertComponent, Archive, ArrayUtil, AuthGuard, AuthInterceptor, AuthenticationService, BaseUser, BreakpointEnum, BreakpointObserverService, BrowserUtil, ButtonComponent, CalendarMonthYearComponent, CardComponent, ChartDTO, CheckboxComponent, ConfirmationDTO, ConfirmationService, CoreModule, CriteriaOperationEnum, CriteriaSortDirectionEnum, CurrencyUtil, DEFAULT_MESSAGES, DateAdapter, DateRange, DateRangePickerComponent, DateUtil, DatepickerModule, DefaultMatCalendarRangeStrategy, DialogDTO, DialogService, DocumentUtil, EmailUtil, ErrorInterceptor, FilterDTO, GIPIAbstractComponent, GIPIAbstractCrudComponent, GIPIAbstractCrudService, GIPIAbstractDTO, GIPIAbstractFilterModel, GIPIAbstractFindComponent, GIPIAbstractFormComponent, GIPIAbstractModel, GIPIAbstractService, GIPIActionRowComponent, GIPIAppliedFilter, GIPIAutowired, GIPIBadgeComponent, GIPIBaseService, GIPIBreakpointService, GIPIButtonComponent, GIPICardComponent, GIPIColDirective, GIPIConfirmationDialogComponent, GIPIConnectedOverlayScrollHandler, GIPIDomHandler, GIPIDropdownMenuComponent, GIPIDynamicTabDirective, GIPIEmptyStateComponent, GIPIExpansionPanelComponent, GIPIFileDragAndDropComponent, GIPIFileService, GIPIFooterComponent, GIPIFormFieldComponent, GIPIHelpfulTipComponent, GIPIInfiniteScrollDirective, GIPIInputCheckboxComponent, GIPIInputCurrencyComponent, GIPIInputMonthPickerComponent, GIPIInputSearchComponent, GIPIInputSelectComponent, GIPIInputSelectEnumComponent, GIPIInputSelectListboxComponent, GIPIInputSelectPagedComponent, GIPIInputSelectRadioComponent, GIPINotificationComponent, GIPINoveltiesComponent, GIPIOverlayComponent, GIPIOverlayService, GIPIPageEvent, GIPIPageModel, GIPIPaginatePipe, GIPIPaginationControlsDirective, GIPIPaginationService, GIPIPasswordRequerimentsComponent, GIPIPopoverComponent, GIPIPopoverTarget, GIPIPopoverTrigger, GIPIRadioGroupComponent, GIPIRangePageComponent, GIPIRangeSliderComponent, GIPIResizeService, GIPIRowDirective, GIPISelectButtonComponent, GIPISelectComponent, GIPISessionStorageService, GIPISidenavComponent, GIPISidenavContainerComponent, GIPISkeletonComponent, GIPISkeletonDirective, GIPISlideToggleComponent, GIPISortDirectionEnum, GIPISortModel, GIPISplitButtonComponent, GIPIStepperComponent, GIPITabComponent, GIPITabGroupComponent, GIPITableBodyComponent, GIPITableComponent, GIPITableFooterComponent, GIPITableHeaderComponent, GIPITablePaginationComponent, GIPITableProgressBarComponent, GIPITemplateDirective, GIPITextareaComponent, GIPIToolbarComponent, GIPITopNavComponent, GIPIUserProfileComponent, GIPI_BREAKPOINTS, GIPI_CUSTOM_BREAKPOINTS_PROVIDER, GIPI_MONTH_YEAR_SCROLL_STRATEGY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER, INJECTOR, IconComponent, InputComponent, InputCurrencyComponent, InputFileComponent, InputListboxDTO, ItssTemplate, LoadingComponent, LoadingOverlayComponent, LocalTimeEnum, LocalTimePipe, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_DATEPICKER_VALIDATORS, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_DATE_LOCALE_PROVIDER, MAT_DATE_RANGE_SELECTION_STRATEGY, MAT_NATIVE_DATE_FORMATS, MAT_RANGE_DATE_SELECTION_MODEL_FACTORY, MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER, MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY, MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER, MatCalendar, MatCalendarBody, MatCalendarCell, MatCalendarHeader, MatDateRangeInput, MatDateRangePicker, MatDateSelectionModel, MatDatepicker, MatDatepickerContent, MatDatepickerInput, MatDatepickerInputEvent, MatDatepickerIntl, MatDatepickerToggle, MatDatepickerToggleIcon, MatEndDate, MatMonthView, MatMultiYearView, MatRangeDateSelectionModel, MatSingleDateSelectionModel, MatStartDate, MatYearView, MaxRangeDirective, MaxRangeSelectionStrategy, MenuDTO, MenuTypeEnum, MessageDTO, MessageService, MonthPickerModel, MonthYear, MonthYearPickerComponent, MonthYearPickerModule, MultitenantModel, NativeDateAdapter, NavService, NumberUtil, ObjectUtil, OverlayPanelComponent, POINTS_NAME, PageDTO, PasswordUtil, Permission, PermissionGuard, PhoneMaskDirective, PhoneUtil, Platform, PopoverComponent, PopoverRef, PopoverService, PresetRangeComponent, RadioButtonEnum, RadioGroupEntityComponent, RadioGroupEnumComponent, RangePage, Role, SelectButtonAddComponent, SelectButtonNextBatchComponent, SelectEntityComponent, SelectEntityPagedComponent, SelectEnumComponent, SelectMonthPeriodComponent, SelectNoEntriesFoundDirective, SelectSearchClearDirective, SelectSearchComponent, SharedModule, SlideToggleComponent, SortDTO, SortDirectionEnum, SortModel, StepperComponent, StringUtil, SvgRegisterService, TabDTO, TabModel, TableColumnBuilder, TableColumnBuilderModel, TableColumnDTO, TableColumnModel, TableComponent, TableScrolledComponent, TimeUtil, TokenDTO, URLParamsUtil, UUIDUtil, customCurrencyMaskConfig, getReflectType, gridResponsiveMap, matDatepickerAnimations, nextUniqueId$n as nextUniqueId, siderResponsiveMap, transformPopover, yearsPerPage$1 as yearsPerPage, yearsPerRow, ƟCMP, ƟFAC, ƟPROV, ɵ0$3 as ɵ0, MAT_DATE_RANGE_INPUT_PARENT as ɵa, MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY as ɵb, MAT_CALENDAR_RANGE_STRATEGY_PROVIDER as ɵc, MatDatepickerBase as ɵd, MAT_FORM_FIELD as ɵe, MatDatepickerInputBase as ɵf, GIPINgConfig as ɵg, GIPIChipsComponent as ɵh, GIPIFileDragAndDropDirective as ɵi, TextareaComponent as ɵj, UpperCaseDirective as ɵk, LowerCaseDirective as ɵl, SpaceDropDirective as ɵm, InputSelectInfiniteScrollDirective as ɵn, ITSS_SELECT_SEARCH_DEFAULT_OPTIONS as ɵo, MaterialModule as ɵq, DatepickerComponent as ɵr };
26796
26915
  //# sourceMappingURL=gipisistemas-ng-core.js.map