@gipisistemas/ng-core 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/assets/styles/colors.scss +5 -1
  2. package/bundles/gipisistemas-ng-core.umd.js +2098 -1285
  3. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  4. package/bundles/gipisistemas-ng-core.umd.min.js +10 -9
  5. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  6. package/core/gipi-components/models/sort.model.d.ts +3 -3
  7. package/core/utils/array.util.d.ts +2 -2
  8. package/core/utils/object.util.d.ts +3 -5
  9. package/core/utils/string.util.d.ts +4 -0
  10. package/esm2015/core/gipi-components/models/sort.model.js +1 -1
  11. package/esm2015/core/gipi-components/services/abstract-crud.service.js +18 -24
  12. package/esm2015/core/utils/array.util.js +4 -2
  13. package/esm2015/core/utils/object.util.js +5 -9
  14. package/esm2015/core/utils/string.util.js +27 -1
  15. package/esm2015/gipi-components.js +11 -1
  16. package/esm2015/shared/components/input/input.component.js +46 -23
  17. package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
  18. package/esm2015/shared/components/table/table.component.js +1 -1
  19. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  20. package/esm2015/shared/gipi-components/button/button.component.js +18 -2
  21. package/esm2015/shared/gipi-components/card/card.component.js +113 -0
  22. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  23. package/esm2015/shared/gipi-components/empty-state/empty-state.component.js +30 -0
  24. package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  25. package/esm2015/shared/gipi-components/layout-grid/col.directive.js +4 -4
  26. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  27. package/esm2015/shared/gipi-components/notification/notification.component.js +8 -3
  28. package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
  29. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  30. package/esm2015/shared/gipi-components/slide-toggle/slide-toggle.component.js +113 -0
  31. package/esm2015/shared/gipi-components/split-button/split-button.component.js +243 -0
  32. package/esm2015/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +18 -0
  33. package/esm2015/shared/gipi-components/tabs/shared/tab.model.js +8 -0
  34. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +66 -0
  35. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +123 -0
  36. package/esm2015/shared/gipi-components/textarea/textarea.component.js +298 -0
  37. package/esm2015/shared/shared.module.js +22 -16
  38. package/esm2015/shared.js +1 -5
  39. package/esm5/core/gipi-components/models/sort.model.js +1 -1
  40. package/esm5/core/gipi-components/services/abstract-crud.service.js +18 -24
  41. package/esm5/core/utils/array.util.js +4 -3
  42. package/esm5/core/utils/object.util.js +5 -9
  43. package/esm5/core/utils/string.util.js +27 -1
  44. package/esm5/gipi-components.js +11 -1
  45. package/esm5/shared/components/input/input.component.js +46 -23
  46. package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
  47. package/esm5/shared/components/table/table.component.js +1 -1
  48. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  49. package/esm5/shared/gipi-components/button/button.component.js +22 -2
  50. package/esm5/shared/gipi-components/card/card.component.js +135 -0
  51. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  52. package/esm5/shared/gipi-components/empty-state/empty-state.component.js +33 -0
  53. package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  54. package/esm5/shared/gipi-components/layout-grid/col.directive.js +4 -4
  55. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  56. package/esm5/shared/gipi-components/notification/notification.component.js +8 -3
  57. package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
  58. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  59. package/esm5/shared/gipi-components/slide-toggle/slide-toggle.component.js +127 -0
  60. package/esm5/shared/gipi-components/split-button/split-button.component.js +249 -0
  61. package/esm5/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +19 -0
  62. package/esm5/shared/gipi-components/tabs/shared/tab.model.js +10 -0
  63. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +67 -0
  64. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +131 -0
  65. package/esm5/shared/gipi-components/textarea/textarea.component.js +352 -0
  66. package/esm5/shared/shared.module.js +22 -16
  67. package/esm5/shared.js +1 -5
  68. package/fesm2015/gipisistemas-ng-core.js +1991 -1274
  69. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  70. package/fesm5/gipisistemas-ng-core.js +2088 -1281
  71. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  72. package/gipi-components.d.ts +9 -0
  73. package/gipisistemas-ng-core.metadata.json +1 -1
  74. package/package.json +1 -2
  75. package/shared/components/input/input.component.d.ts +13 -11
  76. package/shared/components/table/table.component.d.ts +3 -3
  77. package/shared/gipi-components/button/button.component.d.ts +14 -0
  78. package/shared/gipi-components/card/card.component.d.ts +23 -0
  79. package/shared/gipi-components/empty-state/empty-state.component.d.ts +5 -0
  80. package/shared/gipi-components/notification/notification.component.d.ts +1 -0
  81. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +7 -0
  82. package/shared/gipi-components/slide-toggle/slide-toggle.component.d.ts +27 -0
  83. package/shared/gipi-components/split-button/split-button.component.d.ts +60 -0
  84. package/shared/{directives → gipi-components/tabs/shared}/dynamic-tab.directive.d.ts +1 -1
  85. package/shared/gipi-components/tabs/shared/tab.model.d.ts +12 -0
  86. package/shared/{components → gipi-components/tabs}/tab/tab.component.d.ts +4 -2
  87. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +22 -0
  88. package/shared/gipi-components/textarea/textarea.component.d.ts +68 -0
  89. package/shared.d.ts +0 -4
  90. package/esm2015/shared/components/select-button/select-button.component.js +0 -181
  91. package/esm2015/shared/components/tab/tab.component.js +0 -57
  92. package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
  93. package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
  94. package/esm5/shared/components/select-button/select-button.component.js +0 -195
  95. package/esm5/shared/components/tab/tab.component.js +0 -58
  96. package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
  97. package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
  98. package/shared/components/select-button/select-button.component.d.ts +0 -35
  99. package/shared/components/tab-group/tab-group.component.d.ts +0 -22
@@ -1,7 +1,7 @@
1
- import { InjectionToken, NgModule, EventEmitter, ContentChild, TemplateRef, ViewChild, ElementRef, Input, Output, Component, forwardRef, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, Renderer2, ChangeDetectorRef, NgZone, ChangeDetectionStrategy, ViewEncapsulation, Optional, Directive, HostBinding, ViewContainerRef, ComponentFactoryResolver, ContentChildren, QueryList, HostListener, RendererFactory2, Host, Pipe, 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, Pipe, ContentChildren, QueryList, ComponentFactoryResolver, 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
- import { DOCUMENT, formatNumber, formatPercent, formatDate, isPlatformBrowser, CommonModule, formatCurrency } from '@angular/common';
4
+ import { formatNumber, formatPercent, DOCUMENT, formatDate, isPlatformBrowser, CommonModule, formatCurrency } from '@angular/common';
5
5
  import { BREAKPOINT, FlexLayoutModule } from '@angular/flex-layout';
6
6
  import { NG_VALUE_ACCESSOR, FormControl, NgControl, NgForm, FormGroupDirective, Validators, NG_VALIDATORS, ControlContainer, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
7
  import { MatMenu, MAT_SNACK_BAR_DATA, MatSnackBar, MatSelect as MatSelect$1, MatOption, MatFormField, MatTableDataSource, MatSort, MatPaginator, MatDialogRef, MAT_DIALOG_DATA, MatDialogConfig, MatDialog, MatNativeDateModule, MatRippleModule as MatRippleModule$1, MatDialogModule as MatDialogModule$1, MatIconRegistry } from '@angular/material';
@@ -53,9 +53,11 @@ import { MatTabsModule } from '@angular/material/tabs';
53
53
  import { MatToolbarModule } from '@angular/material/toolbar';
54
54
  import { MatTooltipModule } from '@angular/material/tooltip';
55
55
  import { MatTreeModule } from '@angular/material/tree';
56
+ import rfdc_ from 'rfdc';
56
57
  import { HttpHeaders, HttpParams, HttpClient, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
57
58
  import { Subject, throwError, BehaviorSubject, of, combineLatest, fromEvent, ReplaySubject, Subscription, merge } from 'rxjs';
58
59
  import { debounceTime, map, distinctUntilChanged, switchMap, startWith, delay, takeUntil, take, tap, filter, auditTime, finalize, shareReplay, catchError } from 'rxjs/operators';
60
+ import { parsePhoneNumberFromString, getExampleNumber } from 'libphonenumber-js';
59
61
  import { trigger, state, style, transition, animate, animation, useAnimation } from '@angular/animations';
60
62
  import { A, Z, ZERO, NINE, SPACE, HOME, END, ENTER, ESCAPE, UP_ARROW, DOWN_ARROW, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, LEFT_ARROW, BACKSPACE } from '@angular/cdk/keycodes';
61
63
  import { coerceCssPixelValue, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
@@ -68,7 +70,6 @@ import { matDatepickerAnimations as matDatepickerAnimations$1 } from '@angular/m
68
70
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
69
71
  import { DomSanitizer } from '@angular/platform-browser';
70
72
  import { onlyNumbers, isValidIE, isValidCEP } from '@brazilian-utils/brazilian-utils';
71
- import { parsePhoneNumberFromString, getExampleNumber } from 'libphonenumber-js';
72
73
 
73
74
  const APP_MESSAGES = new InjectionToken('app.messages');
74
75
  const DEFAULT_MESSAGES = {
@@ -547,9 +548,36 @@ class StringUtil {
547
548
  static truncateWithEllipses(text, max) {
548
549
  return text.trim().substring(0, max - 1) + (text.trim().length > max) ? '...' : '';
549
550
  }
551
+ /** Codifica a string em Base64 */
552
+ static encodeBase64(input) {
553
+ if (this.isEmpty(input)) {
554
+ return '';
555
+ }
556
+ const utf8Encoder = new TextEncoder();
557
+ const utf8Bytes = utf8Encoder.encode(input);
558
+ let binary = '';
559
+ utf8Bytes.forEach((byte) => {
560
+ binary += String.fromCharCode(byte);
561
+ });
562
+ return btoa(binary);
563
+ }
564
+ /** Decodifica a string Base64 */
565
+ static decodeBase64(input) {
566
+ if (this.isEmpty(input)) {
567
+ return '';
568
+ }
569
+ const binary = atob(input);
570
+ const utf8Decoder = new TextDecoder();
571
+ const utf8Bytes = new Uint8Array(binary.length);
572
+ for (let i = 0; i < binary.length; i++) {
573
+ utf8Bytes[i] = binary.charCodeAt(i);
574
+ }
575
+ return utf8Decoder.decode(utf8Bytes);
576
+ }
550
577
  }
551
578
  StringUtil.EMPTY = '';
552
579
 
580
+ const cloneDeep = rfdc_();
553
581
  /** @dynamic */
554
582
  class ObjectUtil {
555
583
  static isNull(value) {
@@ -561,21 +589,15 @@ class ObjectUtil {
561
589
  }
562
590
  let id = null;
563
591
  if (typeof value === 'object') {
564
- id = Reflect.get(value, 'id');
592
+ id = value['id'];
565
593
  }
566
594
  return !UUIDUtil.isValid(id);
567
595
  }
568
- static isNotNil(value) {
569
- return typeof value !== 'undefined' && value !== null;
570
- }
571
- static isNil(value) {
572
- return typeof value === 'undefined' || value === null;
573
- }
574
596
  static clone(value) {
575
597
  if (ObjectUtil.isNull(value)) {
576
598
  return new Object();
577
599
  }
578
- return Object.assign({}, value);
600
+ return cloneDeep(value);
579
601
  }
580
602
  static resolveFieldData(data, field) {
581
603
  if (data && field) {
@@ -1102,11 +1124,160 @@ InputFileComponent = __decorate([
1102
1124
  ActivatedRoute])
1103
1125
  ], InputFileComponent);
1104
1126
 
1127
+ /** @dynamic */
1128
+ class NumberUtil {
1129
+ static isPositive(value) {
1130
+ return !ObjectUtil.isNull(value) && value > 0;
1131
+ }
1132
+ static isNegative(value) {
1133
+ return !ObjectUtil.isNull(value) && value < 0;
1134
+ }
1135
+ static format(value, digitsInfo, type) {
1136
+ if (!ObjectUtil.isNull(value) && (!type || type === 'NUMBER')) {
1137
+ return formatNumber(value, 'pt', digitsInfo);
1138
+ }
1139
+ else if (!ObjectUtil.isNull(value) && type === 'PERCENT') {
1140
+ return formatPercent(value / 100, 'pt', digitsInfo);
1141
+ }
1142
+ return StringUtil.EMPTY;
1143
+ }
1144
+ static onlyNumbers(value) {
1145
+ return String(value).replace(/[^\d]/g, '');
1146
+ }
1147
+ static isNumber(value) {
1148
+ return value !== null && value !== undefined && !isNaN(value) && typeof value === 'number';
1149
+ }
1150
+ }
1151
+
1152
+ /** @dynamic */
1153
+ class PhoneUtil {
1154
+ static removeCharacters(value) {
1155
+ if (StringUtil.isEmpty(value)) {
1156
+ return '';
1157
+ }
1158
+ return value.replace(/\D/g, '');
1159
+ }
1160
+ static maskLib(phoneNumber, state, country = 'BR') {
1161
+ let exampleNumber;
1162
+ if (!StringUtil.isEmpty(phoneNumber)) {
1163
+ const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
1164
+ if (parsedNumber) {
1165
+ exampleNumber = parsedNumber;
1166
+ }
1167
+ }
1168
+ else {
1169
+ exampleNumber = getExampleNumber(country, state);
1170
+ }
1171
+ if (exampleNumber) {
1172
+ const formattedNumber = exampleNumber.formatNational();
1173
+ return formattedNumber.replace(/\d/g, '0');
1174
+ }
1175
+ else {
1176
+ throw new Error('Estado não suportado ou código de estado inválido.');
1177
+ }
1178
+ }
1179
+ static formatLib(phoneNumber, country = 'BR') {
1180
+ try {
1181
+ const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
1182
+ if (parsedNumber) {
1183
+ return parsedNumber.formatNational();
1184
+ }
1185
+ else {
1186
+ throw new Error('Número de telefone inválido.');
1187
+ }
1188
+ }
1189
+ catch (error) {
1190
+ throw new Error('Erro ao formatar o número de telefone: ' + error.message);
1191
+ }
1192
+ }
1193
+ static format(number, mask) {
1194
+ let numberNotFormatted = NumberUtil.onlyNumbers(number);
1195
+ let phoneFormatted = '';
1196
+ if ((numberNotFormatted.length < 8) ||
1197
+ (numberNotFormatted.length > 12) ||
1198
+ (!this.isPossible(numberNotFormatted) && !this.isValid(numberNotFormatted))) {
1199
+ return numberNotFormatted;
1200
+ }
1201
+ if (StringUtil.isEmpty(mask)) {
1202
+ mask = this.mask(numberNotFormatted);
1203
+ }
1204
+ for (let i = 0, j = 0; i < mask.length && j < numberNotFormatted.length; i++) {
1205
+ phoneFormatted += mask.charAt(i) === '0' ? numberNotFormatted.charAt(j++) : mask.charAt(i);
1206
+ }
1207
+ return phoneFormatted;
1208
+ }
1209
+ static mask(phone) {
1210
+ const specialPrefixes = ['0900', '0800', '0700', '0600', '0500', '0400', '0300', '0200', '0100'];
1211
+ let phoneAux = this.removeCharacters(phone.replace(/\D/g, ''));
1212
+ if ((phoneAux.length < 8) ||
1213
+ (phoneAux.length > 12) ||
1214
+ (!this.isPossible(phoneAux) && !this.isValid(phoneAux))) {
1215
+ return '0*';
1216
+ }
1217
+ const existInArray = specialPrefixes.some(prefix => phoneAux.startsWith(prefix));
1218
+ if (existInArray) {
1219
+ return '0000 000 0000'; // Para números especiais como 0800
1220
+ }
1221
+ switch (phoneAux.length) {
1222
+ case 8: return '0000-0000';
1223
+ case 9: return '0 0000-0000';
1224
+ case 10: return '(00) 0000-0000';
1225
+ case 11: return '(00) 0 0000-0000';
1226
+ case 12: return '(000) 0 0000-0000';
1227
+ default: return '0*';
1228
+ }
1229
+ }
1230
+ static isPossible(phoneNumber, country = 'BR') {
1231
+ try {
1232
+ const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
1233
+ return parsedNumber ? parsedNumber.isPossible() : false;
1234
+ }
1235
+ catch (error) {
1236
+ return false;
1237
+ }
1238
+ }
1239
+ static isValid(phoneNumber, country = 'BR') {
1240
+ try {
1241
+ const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
1242
+ return parsedNumber ? parsedNumber.isValid() : false;
1243
+ }
1244
+ catch (error) {
1245
+ return false;
1246
+ }
1247
+ }
1248
+ static getType(phoneNumber, country = 'BR') {
1249
+ try {
1250
+ const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
1251
+ return parsedNumber ? parsedNumber.getType() : null;
1252
+ }
1253
+ catch (error) {
1254
+ return null;
1255
+ }
1256
+ }
1257
+ static isEqual(phoneNumber1, phoneNumber2, country = 'BR') {
1258
+ try {
1259
+ const parsedNumber1 = parsePhoneNumberFromString(phoneNumber1, country);
1260
+ const parsedNumber2 = parsePhoneNumberFromString(phoneNumber2, country);
1261
+ if (parsedNumber1 && parsedNumber2) {
1262
+ return parsedNumber1.isEqual(parsedNumber2);
1263
+ }
1264
+ else {
1265
+ return false;
1266
+ }
1267
+ }
1268
+ catch (error) {
1269
+ return false;
1270
+ }
1271
+ }
1272
+ }
1273
+
1105
1274
  var InputComponent_1;
1106
1275
  let InputComponent = InputComponent_1 = class InputComponent {
1107
- constructor() {
1108
- this._inputSubject = new BehaviorSubject('');
1109
- this._maskPhone = new BehaviorSubject('');
1276
+ constructor(elementRef, _changeDetectorRef) {
1277
+ this.elementRef = elementRef;
1278
+ this._changeDetectorRef = _changeDetectorRef;
1279
+ this._inputSubject$ = new BehaviorSubject('');
1280
+ this._maskPhone$ = new BehaviorSubject('');
1110
1281
  this.tooltip = '';
1111
1282
  this.styleClassFormField = '';
1112
1283
  this.styleClassSuffix = '';
@@ -1127,26 +1298,32 @@ let InputComponent = InputComponent_1 = class InputComponent {
1127
1298
  this.onTouch = () => { };
1128
1299
  }
1129
1300
  get value() {
1130
- return this.val;
1301
+ return this._value;
1131
1302
  }
1132
- set value(val) {
1303
+ set value(value) {
1304
+ let valueAux = null;
1133
1305
  if (this.lowerCase) {
1134
- this.val = this.checkLowercase(this.checkSpaceDrop(val));
1306
+ valueAux = this.checkLowercase(this.checkSpaceDrop(value));
1135
1307
  }
1136
1308
  else {
1137
- this.val = this.checkUppercase(this.checkSpaceDrop(val));
1309
+ valueAux = this.checkUppercase(this.checkSpaceDrop(value));
1138
1310
  }
1139
- this.onChange(this.val);
1311
+ this._value = valueAux;
1312
+ if (this.value !== value) {
1313
+ this._changeDetectorRef.detectChanges();
1314
+ }
1315
+ this.onChange(this._value);
1140
1316
  this.onTouch();
1141
1317
  }
1142
1318
  ngOnInit() {
1143
1319
  if (this.phone) {
1144
- this._inputSubject.pipe(debounceTime(300)).subscribe(value => {
1145
- this._maskPhone.next(PhoneUtil.mask(value));
1320
+ this._inputSubject$.pipe(debounceTime(300)).subscribe(value => {
1321
+ if (!StringUtil.isEmpty(value)) {
1322
+ this._maskPhone$.next(PhoneUtil.mask(value));
1323
+ }
1146
1324
  });
1147
1325
  }
1148
1326
  }
1149
- ngAfterViewInit() { }
1150
1327
  registerOnChange(fn) {
1151
1328
  this.onChange = fn;
1152
1329
  }
@@ -1154,8 +1331,16 @@ let InputComponent = InputComponent_1 = class InputComponent {
1154
1331
  this.onTouch = fn;
1155
1332
  }
1156
1333
  writeValue(value) {
1334
+ if (this.phone && !StringUtil.isEmpty(value)) {
1335
+ this._inputSubject$.next(value);
1336
+ this._changeDetectorRef.detectChanges();
1337
+ }
1157
1338
  this.value = value;
1158
1339
  }
1340
+ setDisabledState(isDisabled) {
1341
+ this.disabled = isDisabled;
1342
+ this._changeDetectorRef.detectChanges();
1343
+ }
1159
1344
  checkSpaceDrop(value) {
1160
1345
  if (this.spaceDrop && value) {
1161
1346
  return value.replace(/\s/g, '');
@@ -1185,23 +1370,27 @@ let InputComponent = InputComponent_1 = class InputComponent {
1185
1370
  this.onTouch();
1186
1371
  }
1187
1372
  }
1188
- onInputPhoneKeyup(event) {
1373
+ onInputPhoneKeydown(event) {
1189
1374
  if (!this.phone) {
1190
1375
  return;
1191
1376
  }
1192
1377
  const value = PhoneUtil.removeCharacters(event.target.value);
1193
1378
  const key = event.key;
1194
- if (/\d/.test(key) && value.length < 12) {
1195
- this._maskPhone.next('0*');
1379
+ if (/\d/.test(key) && ((value.trim().length < 8) || (value.trim().length > 12))) {
1380
+ this._maskPhone$.next('0*');
1196
1381
  }
1197
1382
  }
1198
1383
  onInputPhoneChange(value) {
1199
1384
  if (!this.phone) {
1200
1385
  return;
1201
1386
  }
1202
- this._inputSubject.next(value);
1387
+ this._inputSubject$.next(value);
1203
1388
  }
1204
1389
  };
1390
+ InputComponent.ctorParameters = () => [
1391
+ { type: ElementRef },
1392
+ { type: ChangeDetectorRef }
1393
+ ];
1205
1394
  __decorate([
1206
1395
  ViewChild('input', { static: false, read: ElementRef }),
1207
1396
  __metadata("design:type", ElementRef)
@@ -1271,9 +1460,10 @@ __decorate([
1271
1460
  __metadata("design:type", String)
1272
1461
  ], InputComponent.prototype, "appearance", void 0);
1273
1462
  __decorate([
1274
- Input('value'),
1275
- __metadata("design:type", Object)
1276
- ], InputComponent.prototype, "val", void 0);
1463
+ Input(),
1464
+ __metadata("design:type", Object),
1465
+ __metadata("design:paramtypes", [Object])
1466
+ ], InputComponent.prototype, "value", null);
1277
1467
  __decorate([
1278
1468
  Input(),
1279
1469
  __metadata("design:type", String)
@@ -1317,7 +1507,7 @@ __decorate([
1317
1507
  InputComponent = InputComponent_1 = __decorate([
1318
1508
  Component({
1319
1509
  selector: 'itss-input',
1320
- 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\"\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 (keyup)=\"onInputPhoneKeyup($event)\"\n (ngModelChange)=\"onInputPhoneChange($event)\">\n\n <input matInput\n #input\n *ngIf=\"!mask\"\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]=\"phone ? (_maskPhone | async) : ''\"\n spaceDrop\n [spaceDrop]=\"spaceDrop\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onInputPhoneKeyup($event)\"\n (ngModelChange)=\"onInputPhoneChange($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>",
1510
+ 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>",
1321
1511
  providers: [
1322
1512
  {
1323
1513
  provide: NG_VALUE_ACCESSOR,
@@ -1327,7 +1517,8 @@ InputComponent = InputComponent_1 = __decorate([
1327
1517
  ],
1328
1518
  styles: ["mat-label span{color:#d14014!important}"]
1329
1519
  }),
1330
- __metadata("design:paramtypes", [])
1520
+ __metadata("design:paramtypes", [ElementRef,
1521
+ ChangeDetectorRef])
1331
1522
  ], InputComponent);
1332
1523
 
1333
1524
  let LoadingOverlayComponent = class LoadingOverlayComponent {
@@ -2654,236 +2845,60 @@ RadioGroupEnumComponent = RadioGroupEnumComponent_1 = __decorate([
2654
2845
  __metadata("design:paramtypes", [ChangeDetectorRef])
2655
2846
  ], RadioGroupEnumComponent);
2656
2847
 
2657
- var SelectButtonComponent_1;
2658
- let SelectButtonComponent = SelectButtonComponent_1 = class SelectButtonComponent {
2659
- constructor(cd) {
2660
- this.cd = cd;
2661
- this.tabindex = 0;
2662
- this.onOptionClick = new EventEmitter();
2663
- this.onChange = new EventEmitter();
2664
- this.onModelChange = () => { };
2665
- this.onModelTouched = () => { };
2848
+ var SelectEntityPagedComponent_1;
2849
+ let SelectEntityPagedComponent = SelectEntityPagedComponent_1 = class SelectEntityPagedComponent {
2850
+ constructor(_changeDetectorRef) {
2851
+ this._changeDetectorRef = _changeDetectorRef;
2852
+ this.valueSearchCtrl = new FormControl('');
2853
+ this.totalOptions = 0;
2854
+ this.subscriptions = [];
2855
+ this.searching = false;
2856
+ this.toggleAllCheckboxChecked = false;
2857
+ this.toggleAllCheckboxIndeterminate = false;
2858
+ this._options = [];
2859
+ this.closeIcon = 'close';
2860
+ this.multiple = false;
2861
+ // Mostrar/ocultar o input para pesquisar
2862
+ this.hideFieldSearch = false;
2863
+ // Mostrar/ocultar o botão limpar opções selecionadas
2864
+ this.showClear = false;
2865
+ this.debounceTime = 1000; // milissegundos
2866
+ // Valores que não serão exibidos nas opções
2867
+ this.valuesExclud = [];
2868
+ this.appearance = 'outline';
2869
+ this.property = 'description';
2870
+ this.trackyBy = 'id';
2871
+ this.initLoaded = true;
2872
+ this.infiniteScroll = true;
2873
+ this.modelChange = new EventEmitter();
2874
+ this.selectionChange = new EventEmitter();
2875
+ this.searchChange = new EventEmitter();
2876
+ this.addChange = new EventEmitter();
2877
+ this.openedChange = new EventEmitter();
2878
+ this.trackByOption = (index, obj) => this.trackyBy ? obj[this.trackyBy] : obj;
2879
+ this.onChange = () => { };
2880
+ this.onTouch = () => { };
2666
2881
  }
2667
- ngOnInit() { }
2668
- getPropertyLabel(option) {
2669
- return this.property ? ObjectUtil.resolveFieldData(option, this.property) : (option.label !== undefined ? option.label : option);
2882
+ set paramNextBatch(val) {
2883
+ this._paramNextBatch = val;
2670
2884
  }
2671
- getOptionValue(option) {
2672
- return this.optionValue ? ObjectUtil.resolveFieldData(option, this.optionValue) : (this.property || option.value === undefined ? option : option.value);
2885
+ get paramNextBatch() {
2886
+ return this._paramNextBatch;
2673
2887
  }
2674
- isOptionDisabled(option) {
2675
- return this.optionDisabled ? ObjectUtil.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
2888
+ set model(val) {
2889
+ this.modelValue = val;
2890
+ this.modelChange.emit(this.modelValue);
2891
+ this.onChange(this.modelValue);
2892
+ this.onTouch(this.modelValue);
2676
2893
  }
2677
- writeValue(value) {
2678
- this.value = value;
2679
- this.cd.markForCheck();
2894
+ get model() {
2895
+ return this.modelValue;
2680
2896
  }
2681
- registerOnChange(fn) {
2682
- this.onModelChange = fn;
2897
+ set options(val) {
2898
+ this._options = val;
2683
2899
  }
2684
- registerOnTouched(fn) {
2685
- this.onModelTouched = fn;
2686
- }
2687
- setDisabledState(val) {
2688
- this.disabled = val;
2689
- this.cd.markForCheck();
2690
- }
2691
- onItemClick(event, option, index) {
2692
- if (this.disabled || this.isOptionDisabled(option)) {
2693
- return;
2694
- }
2695
- if (this.multiple) {
2696
- if (this.isSelected(option)) {
2697
- this.removeOption(option);
2698
- }
2699
- else {
2700
- this.value = [...(this.value || []), this.getOptionValue(option)];
2701
- }
2702
- this.onModelChange(this.value);
2703
- this.onChange.emit({
2704
- originalEvent: event,
2705
- value: this.value
2706
- });
2707
- }
2708
- else {
2709
- const value = this.getOptionValue(option);
2710
- if (this.value !== value) {
2711
- this.value = this.getOptionValue(option);
2712
- this.onModelChange(this.value);
2713
- this.onChange.emit({
2714
- originalEvent: event,
2715
- value: this.value
2716
- });
2717
- }
2718
- }
2719
- this.onOptionClick.emit({
2720
- originalEvent: event,
2721
- option: option,
2722
- index: index
2723
- });
2724
- }
2725
- onBlur() {
2726
- this.onModelTouched();
2727
- }
2728
- removeOption(option) {
2729
- this.value = this.value.filter(val => !ObjectUtil.equals(val, this.getOptionValue(option), this.dataKey));
2730
- }
2731
- isSelected(option) {
2732
- let selected = false;
2733
- const optionValue = this.getOptionValue(option);
2734
- if (this.multiple) {
2735
- if (this.value) {
2736
- for (const val of this.value) {
2737
- if (ObjectUtil.equals(val, optionValue, this.dataKey)) {
2738
- selected = true;
2739
- break;
2740
- }
2741
- }
2742
- }
2743
- }
2744
- else {
2745
- selected = ObjectUtil.equals(this.getOptionValue(option), this.value, this.dataKey);
2746
- }
2747
- return selected;
2748
- }
2749
- };
2750
- SelectButtonComponent.ctorParameters = () => [
2751
- { type: ChangeDetectorRef }
2752
- ];
2753
- __decorate([
2754
- Input(),
2755
- __metadata("design:type", Array)
2756
- ], SelectButtonComponent.prototype, "options", void 0);
2757
- __decorate([
2758
- Input(),
2759
- __metadata("design:type", String)
2760
- ], SelectButtonComponent.prototype, "property", void 0);
2761
- __decorate([
2762
- Input(),
2763
- __metadata("design:type", String)
2764
- ], SelectButtonComponent.prototype, "optionValue", void 0);
2765
- __decorate([
2766
- Input(),
2767
- __metadata("design:type", String)
2768
- ], SelectButtonComponent.prototype, "optionDisabled", void 0);
2769
- __decorate([
2770
- Input(),
2771
- __metadata("design:type", Number)
2772
- ], SelectButtonComponent.prototype, "tabindex", void 0);
2773
- __decorate([
2774
- Input(),
2775
- __metadata("design:type", Boolean)
2776
- ], SelectButtonComponent.prototype, "multiple", void 0);
2777
- __decorate([
2778
- Input(),
2779
- __metadata("design:type", String)
2780
- ], SelectButtonComponent.prototype, "label", void 0);
2781
- __decorate([
2782
- Input(),
2783
- __metadata("design:type", Boolean)
2784
- ], SelectButtonComponent.prototype, "required", void 0);
2785
- __decorate([
2786
- Input(),
2787
- __metadata("design:type", String)
2788
- ], SelectButtonComponent.prototype, "styleClass", void 0);
2789
- __decorate([
2790
- Input(),
2791
- __metadata("design:type", String)
2792
- ], SelectButtonComponent.prototype, "ariaLabelledBy", void 0);
2793
- __decorate([
2794
- Input(),
2795
- __metadata("design:type", Boolean)
2796
- ], SelectButtonComponent.prototype, "disabled", void 0);
2797
- __decorate([
2798
- Input(),
2799
- __metadata("design:type", String)
2800
- ], SelectButtonComponent.prototype, "dataKey", void 0);
2801
- __decorate([
2802
- Output(),
2803
- __metadata("design:type", EventEmitter)
2804
- ], SelectButtonComponent.prototype, "onOptionClick", void 0);
2805
- __decorate([
2806
- Output(),
2807
- __metadata("design:type", EventEmitter)
2808
- ], SelectButtonComponent.prototype, "onChange", void 0);
2809
- __decorate([
2810
- ContentChild(TemplateRef, { static: false }),
2811
- __metadata("design:type", Object)
2812
- ], SelectButtonComponent.prototype, "itemTemplate", void 0);
2813
- SelectButtonComponent = SelectButtonComponent_1 = __decorate([
2814
- Component({
2815
- selector: 'itss-select-button',
2816
- template: "<div fxLayout=\"column\">\n <mat-label *ngIf=\"label\"\n class=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\">*</span>\n </mat-label>\n\n <div [ngClass]=\"'selectbutton component'\"\n [class]=\"styleClass\"\n role=\"group\">\n <div *ngFor=\"let option of options; let i = index\"\n #btn\n class=\"button component\"\n [class]=\"option.styleClass\"\n role=\"button\"\n [attr.aria-pressed]=\"isSelected(option)\"\n [ngClass]=\"{'highlight': isSelected(option),\n 'disabled': disabled || isOptionDisabled(option),\n 'button-icon-only': (option.icon && !getPropertyLabel(option))}\"\n (click)=\"onItemClick($event,option,i)\"\n (keydown.enter)=\"onItemClick($event,option,i)\"\n [attr.title]=\"option.title\"\n [attr.aria-label]=\"option.label\"\n (blur)=\"onBlur()\"\n [attr.tabindex]=\"disabled ? null : tabindex\"\n [attr.aria-labelledby]=\"this.getPropertyLabel(option)\"\n [attr.id]=\"i\">\n\n <ng-container *ngIf=\"!itemTemplate else customcontent\">\n <span [ngClass]=\"'button-icon button-icon-left'\"\n [class]=\"option.icon\"\n *ngIf=\"option.icon\">\n </span>\n <span class=\"button-label\">\n {{ getPropertyLabel(option) }}\n </span>\n </ng-container>\n\n <ng-template #customcontent>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </ng-template>\n\n </div>\n </div>\n</div>",
2817
- providers: [
2818
- {
2819
- provide: NG_VALUE_ACCESSOR,
2820
- useExisting: forwardRef(() => SelectButtonComponent_1),
2821
- multi: true
2822
- }
2823
- ],
2824
- changeDetection: ChangeDetectionStrategy.OnPush,
2825
- host: {
2826
- 'class': 'itss-element'
2827
- },
2828
- styles: [".label{color:#696969;font-size:1rem;margin-bottom:7px!important}.label>span{color:#f44336}.component{font-weight:400;display:flex;width:100%}.component:disabled,.disabled{cursor:not-allowed!important;background:#e0e0e0!important;border-color:#e0e0e0!important;color:#00000042!important}.selectbutton .button{background:#fff;border:1px solid #e1e5e4;color:#696969;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;padding:1rem;align-items:center;display:flex;justify-content:center;min-width:5rem;cursor:pointer}.selectbutton .button:first-of-type{border-top-left-radius:5px;border-bottom-left-radius:5px}.selectbutton .button:last-of-type{border-top-right-radius:5px;border-bottom-right-radius:5px}.selectbutton .button .button-icon-left,.selectbutton .button .button-icon-right{color:#696969}.selectbutton .button:not(.disabled):not(.highlight):hover{background:#f7f7f7;border-color:#e1e5e4;color:#696969}.selectbutton .button:not(.disabled):not(.highlight):hover .button-icon-left,.selectbutton .button:not(.disabled):not(.highlight):hover .button-icon-right{color:#696969}.selectbutton .button.highlight{background:#f3465c;border-color:#f3465c;color:#fff;cursor:default}.selectbutton .button.highlight .button-icon-left,.selectbutton .button.highlight .button-icon-right{color:#fff}.selectbutton .button.highlight:hover{background:#e6364e;border-color:#e6364e;color:#fff}.selectbutton .button.highlight:hover .button-icon-left,.selectbutton .button.highlight:hover .button-icon-right{color:#fff}itss-select-button.ng-dirty.ng-invalid>.selectbutton>.button{border-color:#f44336}.button.button-icon-only{width:3rem;padding:.75rem 0}.button.button-icon-only .button-icon-left,.button.button-icon-only .button-icon-right{margin:0}.button.button-icon-only.button-rounded{border-radius:50%;height:3rem}.button-label{font-weight:700}"]
2829
- }),
2830
- __metadata("design:paramtypes", [ChangeDetectorRef])
2831
- ], SelectButtonComponent);
2832
-
2833
- var SelectEntityPagedComponent_1;
2834
- let SelectEntityPagedComponent = SelectEntityPagedComponent_1 = class SelectEntityPagedComponent {
2835
- constructor(_changeDetectorRef) {
2836
- this._changeDetectorRef = _changeDetectorRef;
2837
- this.valueSearchCtrl = new FormControl('');
2838
- this.totalOptions = 0;
2839
- this.subscriptions = [];
2840
- this.searching = false;
2841
- this.toggleAllCheckboxChecked = false;
2842
- this.toggleAllCheckboxIndeterminate = false;
2843
- this._options = [];
2844
- this.closeIcon = 'close';
2845
- this.multiple = false;
2846
- // Mostrar/ocultar o input para pesquisar
2847
- this.hideFieldSearch = false;
2848
- // Mostrar/ocultar o botão limpar opções selecionadas
2849
- this.showClear = false;
2850
- this.debounceTime = 1000; // milissegundos
2851
- // Valores que não serão exibidos nas opções
2852
- this.valuesExclud = [];
2853
- this.appearance = 'outline';
2854
- this.property = 'description';
2855
- this.trackyBy = 'id';
2856
- this.initLoaded = true;
2857
- this.infiniteScroll = true;
2858
- this.modelChange = new EventEmitter();
2859
- this.selectionChange = new EventEmitter();
2860
- this.searchChange = new EventEmitter();
2861
- this.addChange = new EventEmitter();
2862
- this.openedChange = new EventEmitter();
2863
- this.trackByOption = (index, obj) => this.trackyBy ? obj[this.trackyBy] : obj;
2864
- this.onChange = () => { };
2865
- this.onTouch = () => { };
2866
- }
2867
- set paramNextBatch(val) {
2868
- this._paramNextBatch = val;
2869
- }
2870
- get paramNextBatch() {
2871
- return this._paramNextBatch;
2872
- }
2873
- set model(val) {
2874
- this.modelValue = val;
2875
- this.modelChange.emit(this.modelValue);
2876
- this.onChange(this.modelValue);
2877
- this.onTouch(this.modelValue);
2878
- }
2879
- get model() {
2880
- return this.modelValue;
2881
- }
2882
- set options(val) {
2883
- this._options = val;
2884
- }
2885
- get options() {
2886
- return this._options;
2900
+ get options() {
2901
+ return this._options;
2887
2902
  }
2888
2903
  get scrollViewportHeight() {
2889
2904
  if (ArrayUtil.isEmpty(this.options)) {
@@ -3937,7 +3952,7 @@ __decorate([
3937
3952
  SelectSearchComponent = SelectSearchComponent_1 = __decorate([
3938
3953
  Component({
3939
3954
  selector: 'itss-input-search',
3940
- 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\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>\n",
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 [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>",
3941
3956
  providers: [
3942
3957
  {
3943
3958
  provide: NG_VALUE_ACCESSOR,
@@ -3959,6 +3974,7 @@ SelectSearchComponent = SelectSearchComponent_1 = __decorate([
3959
3974
  MatFormField, Object])
3960
3975
  ], SelectSearchComponent);
3961
3976
 
3977
+ const cloneDeep$1 = rfdc_();
3962
3978
  /** @dynamic */
3963
3979
  class ArrayUtil {
3964
3980
  static isEmpty(value) {
@@ -3968,7 +3984,7 @@ class ArrayUtil {
3968
3984
  if (ObjectUtil.isNull(value)) {
3969
3985
  return new Array();
3970
3986
  }
3971
- return [...value];
3987
+ return cloneDeep$1(value);
3972
3988
  }
3973
3989
  /**
3974
3990
  * Função para realizar ordenação de Array de objetos
@@ -4616,214 +4632,25 @@ StepperComponent = StepperComponent_1 = __decorate([
4616
4632
  })
4617
4633
  ], StepperComponent);
4618
4634
 
4619
- let TabComponent = class TabComponent {
4620
- constructor() {
4621
- this.active = false;
4622
- this.closeable = false;
4623
- this.disabled = false;
4624
- this.selectionChange = new EventEmitter();
4625
- }
4626
- ngOnInit() {
4627
- }
4628
- };
4629
- __decorate([
4630
- Input(),
4631
- __metadata("design:type", Number)
4632
- ], TabComponent.prototype, "index", void 0);
4633
- __decorate([
4634
- Input(),
4635
- __metadata("design:type", String)
4636
- ], TabComponent.prototype, "label", void 0);
4637
- __decorate([
4638
- Input(),
4639
- __metadata("design:type", Object)
4640
- ], TabComponent.prototype, "active", void 0);
4641
- __decorate([
4642
- Input(),
4643
- __metadata("design:type", TemplateRef)
4644
- ], TabComponent.prototype, "template", void 0);
4645
- __decorate([
4646
- Input(),
4647
- __metadata("design:type", Object)
4648
- ], TabComponent.prototype, "closeable", void 0);
4649
- __decorate([
4650
- Input(),
4651
- __metadata("design:type", Object)
4652
- ], TabComponent.prototype, "disabled", void 0);
4653
- __decorate([
4654
- Input(),
4655
- __metadata("design:type", Object)
4656
- ], TabComponent.prototype, "data", void 0);
4657
- __decorate([
4658
- Input(),
4659
- __metadata("design:type", String)
4660
- ], TabComponent.prototype, "icon", void 0);
4661
- __decorate([
4662
- Output(),
4663
- __metadata("design:type", Object)
4664
- ], TabComponent.prototype, "selectionChange", void 0);
4665
- TabComponent = __decorate([
4666
- Component({
4667
- selector: 'itss-tab',
4668
- template: "<div *ngIf=\"active\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{$implicit: data}\">\n </ng-container>\n</div>\n",
4669
- styles: [""]
4670
- })
4671
- ], TabComponent);
4672
-
4673
- let DynamicTabDirective = class DynamicTabDirective {
4674
- constructor(viewContainer) {
4675
- this.viewContainer = viewContainer;
4676
- }
4677
- };
4678
- DynamicTabDirective.ctorParameters = () => [
4679
- { type: ViewContainerRef }
4680
- ];
4681
- DynamicTabDirective = __decorate([
4682
- Directive({
4683
- selector: '[dynamicTab]'
4684
- }),
4685
- __metadata("design:paramtypes", [ViewContainerRef])
4686
- ], DynamicTabDirective);
4687
-
4688
- class TabDTO extends AbstractDTO {
4689
- constructor() {
4690
- super(...arguments);
4691
- this.active = false;
4692
- this.closeable = false;
4693
- this.disabled = false;
4694
- }
4695
- }
4696
-
4697
- let TabGroupComponent = class TabGroupComponent {
4698
- constructor(_componentFactoryResolver) {
4699
- this._componentFactoryResolver = _componentFactoryResolver;
4700
- this.dynamicTabs = [];
4701
- }
4702
- ngOnInit() {
4635
+ /**
4636
+ * Throttle a function
4637
+ */
4638
+ function throttle(func, wait, options) {
4639
+ options = options || {};
4640
+ let context;
4641
+ let args;
4642
+ let result;
4643
+ let timeout = null;
4644
+ let previous = 0;
4645
+ function later() {
4646
+ previous = options.leading === false ? 0 : +new Date();
4647
+ timeout = null;
4648
+ result = func.apply(context, args);
4703
4649
  }
4704
- ngAfterContentInit() {
4705
- const activeTabs = this.tabs.filter(tab => tab.active);
4706
- if (activeTabs.length === 0 && this.tabs.length > 0) {
4707
- this.selectTab(this.tabs.first);
4708
- }
4709
- }
4710
- openTab(label, template, data, closeable = false, disabled = false, action) {
4711
- const tab = new TabDTO();
4712
- tab.label = label;
4713
- tab.template = template;
4714
- tab.data = data;
4715
- tab.closeable = closeable;
4716
- tab.disabled = disabled;
4717
- tab.action = action;
4718
- this.openTabs(Array(tab));
4719
- }
4720
- openTabs(tabs) {
4721
- const tabsComponent = tabs.map(tab => this.getTabComponent(tab.label, tab.template, tab.data, tab.closeable, tab.disabled, tab.action));
4722
- this.dynamicTabs.push(...tabsComponent);
4723
- this.selectTab(this.dynamicTabs[0]);
4724
- }
4725
- getTabComponent(label, template, data, closeable = false, disabled = false, action) {
4726
- const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TabComponent);
4727
- const componentRef = this.dynamicTabPlaceholder.viewContainer.createComponent(componentFactory);
4728
- const instance = componentRef.instance;
4729
- instance.label = label;
4730
- instance.template = template;
4731
- instance.data = data;
4732
- instance.closeable = closeable;
4733
- instance.disabled = disabled;
4734
- instance.action = action;
4735
- return componentRef.instance;
4736
- }
4737
- selectTab(tab) {
4738
- this.tabs.toArray().forEach(t => (t.active = false));
4739
- this.dynamicTabs.forEach(t => (t.active = false));
4740
- tab.active = true;
4741
- tab.selectionChange.emit();
4742
- if (tab.action) {
4743
- tab.action(tab.data);
4744
- }
4745
- }
4746
- closeTab(tab) {
4747
- const index = this.dynamicTabs.indexOf(tab);
4748
- this.dynamicTabs.splice(index, 1);
4749
- const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
4750
- viewContainerRef.remove(index);
4751
- if (this.tabs.length > 0) {
4752
- this.selectTab(this.tabs.first);
4753
- }
4754
- }
4755
- closeActiveTab() {
4756
- const activeTabs = this.dynamicTabs.filter(tab => tab.active);
4757
- if (activeTabs.length > 0) {
4758
- this.closeTab(activeTabs[0]);
4759
- }
4760
- }
4761
- closeAllTabs() {
4762
- const tabs = Object.assign([], this.dynamicTabs);
4763
- if (tabs.length > 0) {
4764
- tabs.forEach(tab => this.closeTab(tab));
4765
- }
4766
- }
4767
- nextTab() {
4768
- const currentTab = this.tabs.toArray().find(tab => tab.active);
4769
- const nextTab = this.tabs.toArray()[this.tabs.toArray().indexOf(currentTab) + 1];
4770
- if (nextTab != null) {
4771
- this.tabs.toArray().forEach(t => (t.active = false));
4772
- this.dynamicTabs.forEach(t => (t.active = false));
4773
- nextTab.active = true;
4774
- nextTab.selectionChange.emit();
4775
- }
4776
- }
4777
- previousTab() {
4778
- const currentTab = this.tabs.toArray().find(tab => tab.active);
4779
- const previousTab = this.tabs.toArray()[this.tabs.toArray().indexOf(currentTab) - 1];
4780
- if (previousTab != null) {
4781
- this.tabs.toArray().forEach(t => (t.active = false));
4782
- this.dynamicTabs.forEach(t => (t.active = false));
4783
- previousTab.active = true;
4784
- previousTab.selectionChange.emit();
4785
- }
4786
- }
4787
- };
4788
- TabGroupComponent.ctorParameters = () => [
4789
- { type: ComponentFactoryResolver }
4790
- ];
4791
- __decorate([
4792
- ContentChildren(TabComponent),
4793
- __metadata("design:type", QueryList)
4794
- ], TabGroupComponent.prototype, "tabs", void 0);
4795
- __decorate([
4796
- ViewChild(DynamicTabDirective, { static: false }),
4797
- __metadata("design:type", DynamicTabDirective)
4798
- ], TabGroupComponent.prototype, "dynamicTabPlaceholder", void 0);
4799
- TabGroupComponent = __decorate([
4800
- Component({
4801
- selector: 'itss-tab-group',
4802
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <div mat-card-avatar\n *ngIf=\"tab.icon\">\n <mat-icon>{{ tab.icon }}</mat-icon>\n </div>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <div mat-card-avatar\n *ngIf=\"tab.icon\">\n <mat-icon>{{ tab.icon }}</mat-icon>\n </div>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content></ng-content>\n<ng-template dynamicTab\n #container></ng-template>\n",
4803
- styles: [""]
4804
- }),
4805
- __metadata("design:paramtypes", [ComponentFactoryResolver])
4806
- ], TabGroupComponent);
4807
-
4808
- /**
4809
- * Throttle a function
4810
- */
4811
- function throttle(func, wait, options) {
4812
- options = options || {};
4813
- let context;
4814
- let args;
4815
- let result;
4816
- let timeout = null;
4817
- let previous = 0;
4818
- function later() {
4819
- previous = options.leading === false ? 0 : +new Date();
4820
- timeout = null;
4821
- result = func.apply(context, args);
4822
- }
4823
- return function () {
4824
- const now = +new Date();
4825
- if (!previous && options.leading === false) {
4826
- previous = now;
4650
+ return function () {
4651
+ const now = +new Date();
4652
+ if (!previous && options.leading === false) {
4653
+ previous = now;
4827
4654
  }
4828
4655
  const remaining = wait - (now - previous);
4829
4656
  context = this;
@@ -6577,7 +6404,7 @@ let GIPIColDirective = class GIPIColDirective {
6577
6404
  this._destroy$.complete();
6578
6405
  }
6579
6406
  _setHostClassMap() {
6580
- const hostClassMap = Object.assign({ ['grid-col']: true, [`grid-col-${this.GIPISpan}`]: ObjectUtil.isNotNil(this.GIPISpan), [`grid-col-order-${this.GIPIOrder}`]: ObjectUtil.isNotNil(this.GIPIOrder), [`grid-col-offset-${this.GIPIOffset}`]: ObjectUtil.isNotNil(this.GIPIOffset), [`grid-col-pull-${this.GIPIPull}`]: ObjectUtil.isNotNil(this.GIPIPull), [`grid-col-push-${this.GIPIPush}`]: ObjectUtil.isNotNil(this.GIPIPush) }, this._generateClass());
6407
+ const hostClassMap = Object.assign({ ['grid-col']: true, [`grid-col-${this.GIPISpan}`]: !ObjectUtil.isNull(this.GIPISpan), [`grid-col-order-${this.GIPIOrder}`]: !ObjectUtil.isNull(this.GIPIOrder), [`grid-col-offset-${this.GIPIOffset}`]: !ObjectUtil.isNull(this.GIPIOffset), [`grid-col-pull-${this.GIPIPull}`]: !ObjectUtil.isNull(this.GIPIPull), [`grid-col-push-${this.GIPIPush}`]: !ObjectUtil.isNull(this.GIPIPush) }, this._generateClass());
6581
6408
  for (const i in this._classMap) {
6582
6409
  if (this._classMap.hasOwnProperty(i)) {
6583
6410
  this.renderer.removeClass(this.elementRef.nativeElement, i);
@@ -6609,7 +6436,7 @@ let GIPIColDirective = class GIPIColDirective {
6609
6436
  const listClassMap = {};
6610
6437
  listOfSizeInputName.forEach(name => {
6611
6438
  const sizeName = name.replace('GIPI', '').toLowerCase();
6612
- if (ObjectUtil.isNotNil(this[name])) {
6439
+ if (!ObjectUtil.isNull(this[name])) {
6613
6440
  if (typeof this[name] === 'number' || typeof this[name] === 'string') {
6614
6441
  listClassMap[`grid-col-${sizeName}-${this[name]}`] = true;
6615
6442
  }
@@ -6618,7 +6445,7 @@ let GIPIColDirective = class GIPIColDirective {
6618
6445
  const prefixArray = ['span', 'pull', 'push', 'offset', 'order'];
6619
6446
  prefixArray.forEach(prefix => {
6620
6447
  const prefixClass = prefix === 'span' ? '-' : `-${prefix}-`;
6621
- listClassMap[`grid-col-${sizeName}${prefixClass}${embedded[prefix]}`] = embedded && ObjectUtil.isNotNil(embedded[prefix]);
6448
+ listClassMap[`grid-col-${sizeName}${prefixClass}${embedded[prefix]}`] = embedded && !ObjectUtil.isNull(embedded[prefix]);
6622
6449
  });
6623
6450
  }
6624
6451
  }
@@ -7019,6 +6846,21 @@ GIPIPaginationControlsDirective = __decorate([
7019
6846
  ChangeDetectorRef])
7020
6847
  ], GIPIPaginationControlsDirective);
7021
6848
 
6849
+ let GIPIDynamicTabDirective = class GIPIDynamicTabDirective {
6850
+ constructor(viewContainer) {
6851
+ this.viewContainer = viewContainer;
6852
+ }
6853
+ };
6854
+ GIPIDynamicTabDirective.ctorParameters = () => [
6855
+ { type: ViewContainerRef }
6856
+ ];
6857
+ GIPIDynamicTabDirective = __decorate([
6858
+ Directive({
6859
+ selector: '[GIPIDynamicTab]'
6860
+ }),
6861
+ __metadata("design:paramtypes", [ViewContainerRef])
6862
+ ], GIPIDynamicTabDirective);
6863
+
7022
6864
  let GIPITemplateDirective = class GIPITemplateDirective {
7023
6865
  constructor(template) {
7024
6866
  this.template = template;
@@ -7290,7 +7132,7 @@ GIPIAbstractFormComponent = GIPIAbstractFormComponent_1 = __decorate([
7290
7132
  Component({
7291
7133
  selector: `gipi-abstract-form`,
7292
7134
  exportAs: 'gipiAbstractForm',
7293
- template: "<div [style.flex-direction]=\"flexDirection\"\n [style.align-items]=\"alignItems\"\n [style.justify-content]=\"justifyContent\"\n [style.gap]=\"getGap\"\n [style.padding]=\"getPadding\"\n class=\"form-content\"\n [class.space-bottom]=\"!dialog\"\n [class.form-dialog]=\"dialog\">\n <ng-content> </ng-content>\n</div>\n<div class=\"form-footer\"\n [style.margin-inline]=\"getPadding\"\n *ngIf=\"GIPIActionRowComponent\">\n <ng-content select=\"gipi-action-row\"> </ng-content>\n</div>",
7135
+ template: "<div class=\"form-content\"\n [class.form-dialog]=\"dialog\"\n [class.space-bottom]=\"!dialog\"\n [style.flex-direction]=\"flexDirection\"\n [style.align-items]=\"alignItems\"\n [style.justify-content]=\"justifyContent\"\n [style.gap]=\"getGap\"\n [style.padding]=\"getPadding\">\n <ng-content> </ng-content>\n</div>\n<div class=\"form-footer\"\n [style.margin-inline]=\"getPadding\"\n *ngIf=\"GIPIActionRowComponent\">\n <ng-content select=\"gipi-action-row\"> </ng-content>\n</div>",
7294
7136
  providers: [
7295
7137
  {
7296
7138
  provide: NG_VALUE_ACCESSOR,
@@ -8184,7 +8026,7 @@ let GIPIPopoverTrigger = class GIPIPopoverTrigger {
8184
8026
  _subscribeToBackdrop() {
8185
8027
  if (this._overlayRef) {
8186
8028
  /** Only subscribe to backdrop if trigger event is click */
8187
- if (this.triggerEvent === 'click' && this.backdropCloseOnClick === true) {
8029
+ if (this.triggerEvent !== 'hover' && this.backdropCloseOnClick) {
8188
8030
  this._overlayRef.backdropClick()
8189
8031
  .pipe(takeUntil(this.popoverClosed), takeUntil(this._onDestroy))
8190
8032
  .subscribe(() => {
@@ -8267,8 +8109,8 @@ let GIPIPopoverTrigger = class GIPIPopoverTrigger {
8267
8109
  _getOverlayConfig() {
8268
8110
  const overlayState = new OverlayConfig();
8269
8111
  overlayState.positionStrategy = this._getPosition();
8270
- /** Display overlay backdrop if trigger event is click */
8271
- if (this.triggerEvent === 'click') {
8112
+ /** Display overlay backdrop if trigger event is different of hover */
8113
+ if (this.triggerEvent !== 'hover') {
8272
8114
  overlayState.hasBackdrop = true;
8273
8115
  overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
8274
8116
  }
@@ -8555,6 +8397,22 @@ let GIPIButtonComponent = GIPIButtonComponent_1 = class GIPIButtonComponent {
8555
8397
  this.onFocus = new EventEmitter(true);
8556
8398
  this.onBlur = new EventEmitter(true);
8557
8399
  }
8400
+ get internalButtonClass() {
8401
+ return {
8402
+ 'button-base': true,
8403
+ 'button-primary': (this.isButtonPrimary || this.isButtonPrimaryIcon),
8404
+ 'button-primary-icon': this.isButtonPrimaryIcon,
8405
+ 'button-secondary': (this.isButtonSecondary || this.isButtonSecondaryIcon),
8406
+ 'button-secondary-icon': this.isButtonSecondaryIcon,
8407
+ 'button-tertiary': (this.isButtonTertiary || this.isButtonTertiaryIcon),
8408
+ 'button-tertiary-icon': this.isButtonTertiaryIcon,
8409
+ 'button-link': this.isButtonLink,
8410
+ 'button-only-icon': this.isButtonIcon,
8411
+ 'button-for-input': this.isForInput,
8412
+ 'button-notification': this.notification,
8413
+ 'button-action': this.isButtonAction
8414
+ };
8415
+ }
8558
8416
  ngOnInit() { }
8559
8417
  ngOnDestroy() {
8560
8418
  if (this.popoverTrigger) {
@@ -8750,7 +8608,7 @@ GIPIButtonComponent = GIPIButtonComponent_1 = __decorate([
8750
8608
  selector: `gipi-button[gipi-primary], gipi-button[gipi-primary-icon], gipi-button[gipi-secondary], gipi-button[gipi-secondary-icon],
8751
8609
  gipi-button[gipi-tertiary], gipi-button[gipi-link], gipi-button[gipi-icon], gipi-button[gipi-action]`,
8752
8610
  exportAs: 'gipiButton',
8753
- template: "<button [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [matTooltip]=\"tooltip\"\n role=\"button\"\n [class]=\"buttonClass\"\n [ngClass]=\"{'button-base': true,\n 'button-primary': (isButtonPrimary || isButtonPrimaryIcon),\n 'button-primary-icon': isButtonPrimaryIcon,\n 'button-secondary': (isButtonSecondary || isButtonSecondaryIcon),\n 'button-secondary-icon': isButtonSecondaryIcon,\n 'button-tertiary': (isButtonTertiary || isButtonTertiaryIcon),\n 'button-tertiary-icon': isButtonTertiaryIcon,\n 'button-link': isButtonLink,\n 'button-only-icon': isButtonIcon,\n 'button-for-input': isForInput,\n 'button-notification': notification,\n 'button-action': isButtonAction}\"\n [style.padding.px]=\"buttonPadding\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"popover ? 'click' : 'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n\n <span [ngClass]=\"{'button-content': true,\n 'button-disabled': disabled,\n 'button-icon-left': ((iconPos === 'left') && label),\n 'button-icon-right': ((iconPos === 'right') && label),\n 'button-icon-top': ((iconPos === 'top') && label),\n 'button-icon-bottom': ((iconPos === 'bottom') && label),\n 'button-icon-center': (iconPos === 'center')}\">\n\n <mat-icon *ngIf=\"svgIcon || icon\"\n [svgIcon]=\"svgIcon\"\n [style.width.px]=\"iconWidth\"\n [style.height.px]=\"iconHeight\">\n {{ (!svgIcon && icon) ? icon : '' }}\n </mat-icon>\n\n <span class=\"button-label\"\n [attr.aria-hidden]=\"(icon || svgIcon) && !label\"\n *ngIf=\"!isButtonIcon && label\">\n {{ label }}\n </span>\n </span>\n\n</button>\n<gipi-overlay *ngIf=\"overlay && !popover\"\n [(visible)]=\"_overlayVisible\"\n [appendTo]=\"'body'\"\n (onShow)=\"onShowOverlay.emit()\">\n <ng-content> </ng-content>\n</gipi-overlay>\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 <ng-content> </ng-content>\n </div>\n</gipi-popover>",
8611
+ template: "<button [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [matTooltip]=\"tooltip\"\n role=\"button\"\n [class]=\"buttonClass\"\n [ngClass]=\"internalButtonClass\"\n [style.padding.px]=\"buttonPadding\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"popover ? 'click' : 'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n <span [ngClass]=\"{'button-content': true,\n 'button-disabled': disabled,\n 'button-icon-left': ((iconPos === 'left') && label),\n 'button-icon-right': ((iconPos === 'right') && label),\n 'button-icon-top': ((iconPos === 'top') && label),\n 'button-icon-bottom': ((iconPos === 'bottom') && label),\n 'button-icon-center': (iconPos === 'center')}\">\n <mat-icon *ngIf=\"svgIcon || icon\"\n [svgIcon]=\"svgIcon\"\n [style.width.px]=\"iconWidth\"\n [style.height.px]=\"iconHeight\"\n [style.font-size.px]=\"iconWidth || iconHeight\">\n {{ (!svgIcon && icon) ? icon : '' }}\n </mat-icon>\n\n <span class=\"button-label\"\n [attr.aria-hidden]=\"(icon || svgIcon) && !label\"\n *ngIf=\"!isButtonIcon && label\">\n {{ label }}\n </span>\n </span>\n</button>\n\n<gipi-overlay *ngIf=\"overlay && !popover\"\n [(visible)]=\"_overlayVisible\"\n [appendTo]=\"'body'\"\n (onShow)=\"onShowOverlay.emit()\">\n <ng-content> </ng-content>\n</gipi-overlay>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\"\n [fxHide]=\"!popover\">\n <div class=\"btn-popover-content\">\n <ng-content> </ng-content>\n </div>\n</gipi-popover>",
8754
8612
  providers: [
8755
8613
  {
8756
8614
  provide: NG_VALUE_ACCESSOR,
@@ -8766,15 +8624,124 @@ GIPIButtonComponent = GIPIButtonComponent_1 = __decorate([
8766
8624
  __metadata("design:paramtypes", [ElementRef])
8767
8625
  ], GIPIButtonComponent);
8768
8626
 
8627
+ var GIPICardComponent_1;
8628
+ let nextUniqueId = 0;
8629
+ let GIPICardComponent = GIPICardComponent_1 = class GIPICardComponent {
8630
+ constructor(elementRef, _changeDetectorRef) {
8631
+ this.elementRef = elementRef;
8632
+ this._changeDetectorRef = _changeDetectorRef;
8633
+ this._uniqueId = `gipi-card-${++nextUniqueId}`;
8634
+ this._id = '';
8635
+ this._name = '';
8636
+ this._loading = false;
8637
+ this._shadow = true;
8638
+ this._padding = true;
8639
+ }
8640
+ get id() {
8641
+ return this._id;
8642
+ }
8643
+ set id(value) {
8644
+ this._id = value || this._uniqueId;
8645
+ }
8646
+ get name() {
8647
+ return this._name;
8648
+ }
8649
+ set name(value) {
8650
+ this._name = value || this._uniqueId;
8651
+ }
8652
+ get loading() {
8653
+ return this._loading;
8654
+ }
8655
+ set loading(value) {
8656
+ if (value !== this.loading) {
8657
+ this._loading = value;
8658
+ this._changeDetectorRef.markForCheck();
8659
+ }
8660
+ }
8661
+ get shadow() {
8662
+ return this._shadow;
8663
+ }
8664
+ set shadow(value) {
8665
+ if (value !== this.shadow) {
8666
+ this._shadow = value;
8667
+ this._changeDetectorRef.markForCheck();
8668
+ }
8669
+ }
8670
+ get padding() {
8671
+ return this._padding;
8672
+ }
8673
+ set padding(value) {
8674
+ if (value !== this.padding) {
8675
+ this._padding = value;
8676
+ this._changeDetectorRef.markForCheck();
8677
+ }
8678
+ }
8679
+ ngOnInit() { }
8680
+ };
8681
+ GIPICardComponent.ctorParameters = () => [
8682
+ { type: ElementRef },
8683
+ { type: ChangeDetectorRef }
8684
+ ];
8685
+ __decorate([
8686
+ Input(),
8687
+ __metadata("design:type", String),
8688
+ __metadata("design:paramtypes", [String])
8689
+ ], GIPICardComponent.prototype, "id", null);
8690
+ __decorate([
8691
+ Input(),
8692
+ __metadata("design:type", String),
8693
+ __metadata("design:paramtypes", [String])
8694
+ ], GIPICardComponent.prototype, "name", null);
8695
+ __decorate([
8696
+ Input(),
8697
+ __metadata("design:type", Boolean),
8698
+ __metadata("design:paramtypes", [Boolean])
8699
+ ], GIPICardComponent.prototype, "loading", null);
8700
+ __decorate([
8701
+ Input(),
8702
+ __metadata("design:type", Boolean),
8703
+ __metadata("design:paramtypes", [Boolean])
8704
+ ], GIPICardComponent.prototype, "shadow", null);
8705
+ __decorate([
8706
+ Input(),
8707
+ __metadata("design:type", Boolean),
8708
+ __metadata("design:paramtypes", [Boolean])
8709
+ ], GIPICardComponent.prototype, "padding", null);
8710
+ GIPICardComponent = GIPICardComponent_1 = __decorate([
8711
+ Component({
8712
+ selector: 'gipi-card',
8713
+ exportAs: 'gipiCard',
8714
+ template: "<ng-content></ng-content>",
8715
+ providers: [
8716
+ {
8717
+ provide: NG_VALUE_ACCESSOR,
8718
+ useExisting: forwardRef(() => GIPICardComponent_1),
8719
+ multi: true
8720
+ }
8721
+ ],
8722
+ host: {
8723
+ 'class': 'gipi-card',
8724
+ '[attr.id]': 'id',
8725
+ '[attr.name]': 'name',
8726
+ '[class.shadow-none]': '!shadow',
8727
+ '[class.padding-none]': '!padding',
8728
+ '[class.loading]': 'loading',
8729
+ },
8730
+ styles: [":host{display:block;flex:1;border-radius:.2rem;box-shadow:0 3px 1px -2px rgba(0,0,0,.14),0 2px 2px 0 rgba(0,0,0,.098),0 1px 5px 0 rgba(0,0,0,.084);padding:1.6rem}.padding-none{padding:0!important}.shadow-none{box-shadow:none!important}"]
8731
+ }),
8732
+ __metadata("design:paramtypes", [ElementRef,
8733
+ ChangeDetectorRef])
8734
+ ], GIPICardComponent);
8735
+
8769
8736
  var GIPIChipsComponent_1;
8770
8737
  class RemoveChange {
8771
8738
  }
8772
- let nextUniqueId = 0;
8739
+ let nextUniqueId$1 = 0;
8773
8740
  let GIPIChipsComponent = GIPIChipsComponent_1 = class GIPIChipsComponent {
8774
8741
  constructor(_changeDetectorRef, elementRef) {
8775
8742
  this._changeDetectorRef = _changeDetectorRef;
8776
8743
  this.elementRef = elementRef;
8777
- this._name = `gipi-chips-${nextUniqueId++}`;
8744
+ this._name = `gipi-chips-${nextUniqueId$1++}`;
8778
8745
  this.id = this._name;
8779
8746
  this.name = this._name;
8780
8747
  this.label = 'Selecionados';
@@ -8956,12 +8923,12 @@ GIPIConfirmationDialogComponent = GIPIConfirmationDialogComponent_1 = __decorate
8956
8923
  ], GIPIConfirmationDialogComponent);
8957
8924
 
8958
8925
  var GIPIDropdownMenuComponent_1;
8959
- let nextUniqueId$1 = 0;
8926
+ let nextUniqueId$2 = 0;
8960
8927
  let GIPIDropdownMenuComponent = GIPIDropdownMenuComponent_1 = class GIPIDropdownMenuComponent {
8961
8928
  constructor(_changeDetectorRef, elementRef) {
8962
8929
  this._changeDetectorRef = _changeDetectorRef;
8963
8930
  this.elementRef = elementRef;
8964
- this._name = `gipi-dropdown-menu-${nextUniqueId$1++}`;
8931
+ this._name = `gipi-dropdown-menu-${nextUniqueId$2++}`;
8965
8932
  this.id = this._name;
8966
8933
  this.name = this._name;
8967
8934
  this.label = '';
@@ -9135,6 +9102,32 @@ GIPIDropdownMenuComponent = GIPIDropdownMenuComponent_1 = __decorate([
9135
9102
  ElementRef])
9136
9103
  ], GIPIDropdownMenuComponent);
9137
9104
 
9105
+ var GIPIEmptyStateComponent_1;
9106
+ let GIPIEmptyStateComponent = GIPIEmptyStateComponent_1 = class GIPIEmptyStateComponent {
9107
+ constructor() { }
9108
+ ngOnInit() { }
9109
+ };
9110
+ GIPIEmptyStateComponent = GIPIEmptyStateComponent_1 = __decorate([
9111
+ Component({
9112
+ selector: 'gipi-empty-state',
9113
+ exportAs: 'gipiEmptyState',
9114
+ template: "<mat-icon>sentiment_very_dissatisfied</mat-icon>\nNenhum registro foi encontrado",
9115
+ providers: [
9116
+ {
9117
+ provide: NG_VALUE_ACCESSOR,
9118
+ useExisting: forwardRef(() => GIPIEmptyStateComponent_1),
9119
+ multi: true
9120
+ }
9121
+ ],
9122
+ host: {
9123
+ 'class': 'gipi-empty-state',
9124
+ },
9125
+ changeDetection: ChangeDetectionStrategy.OnPush,
9126
+ styles: [":host{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:1.4rem;font-weight:600;color:#131313;padding:2.4rem 0}:host>mat-icon{font-size:3.2rem;height:3.2rem;width:3.2rem;margin-bottom:5px}"]
9127
+ }),
9128
+ __metadata("design:paramtypes", [])
9129
+ ], GIPIEmptyStateComponent);
9130
+
9138
9131
  var GIPIExpansionPanelComponent_1;
9139
9132
  let GIPIExpansionPanelComponent = GIPIExpansionPanelComponent_1 = class GIPIExpansionPanelComponent {
9140
9133
  constructor(elementRef, _changeDetectorRef) {
@@ -9516,12 +9509,12 @@ GIPIFooterComponent = GIPIFooterComponent_1 = __decorate([
9516
9509
  ], GIPIFooterComponent);
9517
9510
 
9518
9511
  var GIPIFormFieldComponent_1;
9519
- let nextUniqueId$2 = 0;
9512
+ let nextUniqueId$3 = 0;
9520
9513
  let GIPIFormFieldComponent = GIPIFormFieldComponent_1 = class GIPIFormFieldComponent {
9521
9514
  constructor(_changeDetectorRef, elementRef) {
9522
9515
  this._changeDetectorRef = _changeDetectorRef;
9523
9516
  this.elementRef = elementRef;
9524
- this._name = `gipi-form-field-${nextUniqueId$2++}`;
9517
+ this._name = `gipi-form-field-${nextUniqueId$3++}`;
9525
9518
  this.id = this._name;
9526
9519
  this.name = this._name;
9527
9520
  this.label = '';
@@ -9773,12 +9766,12 @@ GIPIFormFieldComponent = GIPIFormFieldComponent_1 = __decorate([
9773
9766
  ], GIPIFormFieldComponent);
9774
9767
 
9775
9768
  var GIPIHelpfulTipComponent_1;
9776
- let nextUniqueId$3 = 0;
9769
+ let nextUniqueId$4 = 0;
9777
9770
  let GIPIHelpfulTipComponent = GIPIHelpfulTipComponent_1 = class GIPIHelpfulTipComponent {
9778
9771
  constructor(_changeDetectorRef, elementRef) {
9779
9772
  this._changeDetectorRef = _changeDetectorRef;
9780
9773
  this.elementRef = elementRef;
9781
- this._name = `gipi-form-field-${nextUniqueId$3++}`;
9774
+ this._name = `gipi-form-field-${nextUniqueId$4++}`;
9782
9775
  this.id = this._name;
9783
9776
  this.name = this._name;
9784
9777
  this._tooltip = '';
@@ -9831,11 +9824,11 @@ GIPIHelpfulTipComponent = GIPIHelpfulTipComponent_1 = __decorate([
9831
9824
  ], GIPIHelpfulTipComponent);
9832
9825
 
9833
9826
  var GIPIInputCheckboxComponent_1;
9834
- let nextUniqueId$4 = 0;
9827
+ let nextUniqueId$5 = 0;
9835
9828
  let GIPIInputCheckboxComponent = GIPIInputCheckboxComponent_1 = class GIPIInputCheckboxComponent {
9836
9829
  constructor(_changeDetectorRef) {
9837
9830
  this._changeDetectorRef = _changeDetectorRef;
9838
- this._name = `gipi-input-checkbox-${nextUniqueId$4++}`;
9831
+ this._name = `gipi-input-checkbox-${nextUniqueId$5++}`;
9839
9832
  this.id = this._name;
9840
9833
  this.name = this._name;
9841
9834
  this.disabled = false;
@@ -9939,12 +9932,12 @@ GIPIInputCheckboxComponent = GIPIInputCheckboxComponent_1 = __decorate([
9939
9932
  ], GIPIInputCheckboxComponent);
9940
9933
 
9941
9934
  var GIPIInputCurrencyComponent_1;
9942
- let nextUniqueId$5 = 0;
9935
+ let nextUniqueId$6 = 0;
9943
9936
  let GIPIInputCurrencyComponent = GIPIInputCurrencyComponent_1 = class GIPIInputCurrencyComponent {
9944
9937
  constructor(_changeDetectorRef, elementRef) {
9945
9938
  this._changeDetectorRef = _changeDetectorRef;
9946
9939
  this.elementRef = elementRef;
9947
- this._name = `gipi-input-currency-${nextUniqueId$5++}`;
9940
+ this._name = `gipi-input-currency-${nextUniqueId$6++}`;
9948
9941
  this.id = this._name;
9949
9942
  this.name = this._name;
9950
9943
  this.placeholder = '';
@@ -10132,12 +10125,12 @@ GIPIInputCurrencyComponent = GIPIInputCurrencyComponent_1 = __decorate([
10132
10125
 
10133
10126
  var GIPIInputMonthPickerComponent_1;
10134
10127
  const yearsPerPage = 24;
10135
- let nextUniqueId$6 = 0;
10128
+ let nextUniqueId$7 = 0;
10136
10129
  let GIPIInputMonthPickerComponent = GIPIInputMonthPickerComponent_1 = class GIPIInputMonthPickerComponent {
10137
10130
  constructor(_changeDetectorRef, _config) {
10138
10131
  this._changeDetectorRef = _changeDetectorRef;
10139
10132
  this._config = _config;
10140
- this._name = `gipi-input-monthpicker-${nextUniqueId$6++}`;
10133
+ this._name = `gipi-input-monthpicker-${nextUniqueId$7++}`;
10141
10134
  this._yearArrays = [];
10142
10135
  this._now = new Date();
10143
10136
  this._currentMonth = this._now.getMonth();
@@ -10533,14 +10526,14 @@ GIPIInputMonthPickerComponent = GIPIInputMonthPickerComponent_1 = __decorate([
10533
10526
  ], GIPIInputMonthPickerComponent);
10534
10527
 
10535
10528
  var GIPIInputSelectEnumComponent_1;
10536
- let nextUniqueId$7 = 0;
10529
+ let nextUniqueId$8 = 0;
10537
10530
  /** A altura dos itens selecionados em unidades `px`. */
10538
10531
  const OPTION_HEIGHT_PX = 40;
10539
10532
  let GIPIInputSelectEnumComponent = GIPIInputSelectEnumComponent_1 = class GIPIInputSelectEnumComponent {
10540
10533
  constructor(elementRef, _changeDetectorRef) {
10541
10534
  this.elementRef = elementRef;
10542
10535
  this._changeDetectorRef = _changeDetectorRef;
10543
- this._name = `gipi-input-select-enum-${nextUniqueId$7++}`;
10536
+ this._name = `gipi-input-select-enum-${nextUniqueId$8++}`;
10544
10537
  this._enumList = [];
10545
10538
  this._itemSizeScrollViewport = 5;
10546
10539
  this._lastOptionSelected = null;
@@ -11415,11 +11408,11 @@ GIPIOverlayComponent = GIPIOverlayComponent_1 = __decorate([
11415
11408
  var GIPIInputSelectComponent_1;
11416
11409
  /** A altura dos itens selecionados em unidades `px`. */
11417
11410
  const OPTION_HEIGHT_PX$1 = 44;
11418
- let nextUniqueId$8 = 0;
11411
+ let nextUniqueId$9 = 0;
11419
11412
  let GIPIInputSelectComponent = GIPIInputSelectComponent_1 = class GIPIInputSelectComponent {
11420
11413
  constructor(_changeDetectorRef) {
11421
11414
  this._changeDetectorRef = _changeDetectorRef;
11422
- this._name = `gipi-input-select-${nextUniqueId$8++}`;
11415
+ this._name = `gipi-input-select-${nextUniqueId$9++}`;
11423
11416
  this._onDestroy = new Subject();
11424
11417
  this._itemSizeScrollViewport = 5;
11425
11418
  this._overlayVisible = false;
@@ -12060,13 +12053,13 @@ GIPIInputSelectComponent = GIPIInputSelectComponent_1 = __decorate([
12060
12053
  ], GIPIInputSelectComponent);
12061
12054
 
12062
12055
  var GIPIInputSelectListboxComponent_1;
12063
- let nextUniqueId$9 = 0;
12056
+ let nextUniqueId$a = 0;
12064
12057
  let GIPIInputSelectListboxComponent = GIPIInputSelectListboxComponent_1 = class GIPIInputSelectListboxComponent {
12065
12058
  constructor(_changeDetectorRef, _elementRef, _renderer) {
12066
12059
  this._changeDetectorRef = _changeDetectorRef;
12067
12060
  this._elementRef = _elementRef;
12068
12061
  this._renderer = _renderer;
12069
- this._name = `gipi-input-select-listbox-${nextUniqueId$9++}`;
12062
+ this._name = `gipi-input-select-listbox-${nextUniqueId$a++}`;
12070
12063
  this._isOverlayChildrenClicked = false;
12071
12064
  this._overlayVisible = false;
12072
12065
  this._selectEntityOpened = false;
@@ -12812,7 +12805,7 @@ GIPIInputSearchComponent = GIPIInputSearchComponent_1 = __decorate([
12812
12805
  Component({
12813
12806
  selector: `gipi-input-search`,
12814
12807
  exportAs: 'gipiInputSearch',
12815
- 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 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>",
12808
+ 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>",
12816
12809
  providers: [
12817
12810
  {
12818
12811
  provide: NG_VALUE_ACCESSOR,
@@ -12837,11 +12830,11 @@ GIPIInputSearchComponent = GIPIInputSearchComponent_1 = __decorate([
12837
12830
  ], GIPIInputSearchComponent);
12838
12831
 
12839
12832
  var GIPIInputSelectPagedComponent_1;
12840
- let nextUniqueId$a = 0;
12833
+ let nextUniqueId$b = 0;
12841
12834
  let GIPIInputSelectPagedComponent = GIPIInputSelectPagedComponent_1 = class GIPIInputSelectPagedComponent {
12842
12835
  constructor(_changeDetectorRef) {
12843
12836
  this._changeDetectorRef = _changeDetectorRef;
12844
- this._name = `gipi-input-select-paged-${nextUniqueId$a++}`;
12837
+ this._name = `gipi-input-select-paged-${nextUniqueId$b++}`;
12845
12838
  this.valueSearchCtrl = new FormControl('');
12846
12839
  this.totalOptions = 0;
12847
12840
  this.subscriptions = [];
@@ -13179,12 +13172,12 @@ GIPIInputSelectPagedComponent = GIPIInputSelectPagedComponent_1 = __decorate([
13179
13172
  ], GIPIInputSelectPagedComponent);
13180
13173
 
13181
13174
  var GIPIInputSelectRadioComponent_1;
13182
- let nextUniqueId$b = 0;
13175
+ let nextUniqueId$c = 0;
13183
13176
  let GIPIInputSelectRadioComponent = GIPIInputSelectRadioComponent_1 = class GIPIInputSelectRadioComponent {
13184
13177
  constructor(elementRef, _changeDetectorRef) {
13185
13178
  this.elementRef = elementRef;
13186
13179
  this._changeDetectorRef = _changeDetectorRef;
13187
- this._name = `gipi-input-select-radio-${nextUniqueId$b++}`;
13180
+ this._name = `gipi-input-select-radio-${nextUniqueId$c++}`;
13188
13181
  this._enumList = [];
13189
13182
  this.id = this._name;
13190
13183
  this.name = this._name;
@@ -13447,6 +13440,7 @@ let GIPINotificationComponent = GIPINotificationComponent_1 = class GIPINotifica
13447
13440
  this.iconHeight = 24;
13448
13441
  this.icon = null;
13449
13442
  this.svgIcon = null;
13443
+ this.notification = false;
13450
13444
  this.onShowOverlay = new EventEmitter();
13451
13445
  this.onClick = new EventEmitter();
13452
13446
  this.onFocus = new EventEmitter();
@@ -13502,6 +13496,10 @@ __decorate([
13502
13496
  Input(),
13503
13497
  __metadata("design:type", String)
13504
13498
  ], GIPINotificationComponent.prototype, "tooltip", void 0);
13499
+ __decorate([
13500
+ Input(),
13501
+ __metadata("design:type", Boolean)
13502
+ ], GIPINotificationComponent.prototype, "notification", void 0);
13505
13503
  __decorate([
13506
13504
  Output(),
13507
13505
  __metadata("design:type", EventEmitter)
@@ -13522,7 +13520,7 @@ GIPINotificationComponent = GIPINotificationComponent_1 = __decorate([
13522
13520
  Component({
13523
13521
  selector: `gipi-notification`,
13524
13522
  exportAs: 'gipiNotification',
13525
- template: "<gipi-button gipi-icon\n [id]=\"id\"\n [name]=\"name\"\n [ariaLabel]=\"ariaLabel\"\n [buttonPadding]=\"buttonPadding\"\n [iconWidth]=\"iconWidth\"\n [iconHeight]=\"iconHeight\"\n [icon]=\"icon\"\n [svgIcon]=\"svgIcon\"\n [disabled]=\"disabled\"\n [loading]=\"loading\"\n [tooltip]=\"tooltip\"\n [popover]=\"true\"\n [overlay]=\"false\"\n (onShowOverlay)=\"onShowOverlay.emit()\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\">\n <div role=\"menu\"\n class=\"notification\">\n <header>\n <span role=\"text\">Notifica\u00E7\u00F5es</span>\n <span role=\"button\">Apagar notifica\u00E7\u00F5es lidas</span>\n </header>\n <main>\n Em breve\n </main>\n <footer>\n </footer>\n </div>\n</gipi-button>\n",
13523
+ template: "<gipi-button gipi-icon\n [id]=\"id\"\n [name]=\"name\"\n [ariaLabel]=\"ariaLabel\"\n [buttonPadding]=\"buttonPadding\"\n [iconWidth]=\"iconWidth\"\n [iconHeight]=\"iconHeight\"\n [icon]=\"icon\"\n [svgIcon]=\"svgIcon\"\n [disabled]=\"disabled\"\n [loading]=\"loading\"\n [tooltip]=\"tooltip\"\n [popover]=\"true\"\n [overlay]=\"false\"\n [notification]=\"notification\"\n (onShowOverlay)=\"onShowOverlay.emit()\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"onFocus.emit($event)\"\n (blur)=\"onBlur.emit($event)\">\n <ng-content> </ng-content>\n</gipi-button>\n",
13526
13524
  providers: [
13527
13525
  {
13528
13526
  provide: NG_VALUE_ACCESSOR,
@@ -13534,7 +13532,7 @@ GIPINotificationComponent = GIPINotificationComponent_1 = __decorate([
13534
13532
  'class': 'gipi-notification',
13535
13533
  },
13536
13534
  changeDetection: ChangeDetectionStrategy.OnPush,
13537
- styles: [".button-only-icon{padding:4px!important}.button-only-icon .button-content>mat-icon{width:24px!important;height:24px!important}.notification{max-width:30rem}.notification>footer,.notification>header{display:none}.notification>main{width:20rem;text-align:center;font-size:1.6rem;font-weight:600;color:#262626}"]
13535
+ styles: [".button-only-icon{padding:4px!important}.button-only-icon .button-content>mat-icon{width:24px!important;height:24px!important}"]
13538
13536
  }),
13539
13537
  __metadata("design:paramtypes", [])
13540
13538
  ], GIPINotificationComponent);
@@ -13682,11 +13680,11 @@ class PasswordUtil {
13682
13680
  }
13683
13681
 
13684
13682
  var GIPIPasswordRequerimentsComponent_1;
13685
- let nextUniqueId$c = 0;
13683
+ let nextUniqueId$d = 0;
13686
13684
  let GIPIPasswordRequerimentsComponent = GIPIPasswordRequerimentsComponent_1 = class GIPIPasswordRequerimentsComponent {
13687
13685
  constructor(_changeDetectorRef) {
13688
13686
  this._changeDetectorRef = _changeDetectorRef;
13689
- this._name = `gipi-password-requeriments-${nextUniqueId$c++}`;
13687
+ this._name = `gipi-password-requeriments-${nextUniqueId$d++}`;
13690
13688
  this.id = this._name;
13691
13689
  this.name = this._name;
13692
13690
  this.disabled = false;
@@ -14235,11 +14233,11 @@ GIPIPopoverTarget = __decorate([
14235
14233
  ], GIPIPopoverTarget);
14236
14234
 
14237
14235
  var GIPIRadioGroupComponent_1;
14238
- let nextUniqueId$d = 0;
14236
+ let nextUniqueId$e = 0;
14239
14237
  let GIPIRadioGroupComponent = GIPIRadioGroupComponent_1 = class GIPIRadioGroupComponent {
14240
14238
  constructor(_changeDetectorRef) {
14241
14239
  this._changeDetectorRef = _changeDetectorRef;
14242
- this._name = `gipi-radio-group-${nextUniqueId$d++}`;
14240
+ this._name = `gipi-radio-group-${nextUniqueId$e++}`;
14243
14241
  this._enumList = [];
14244
14242
  this.id = this._name;
14245
14243
  this.name = this._name;
@@ -14372,167 +14370,754 @@ GIPIRadioGroupComponent = GIPIRadioGroupComponent_1 = __decorate([
14372
14370
  __metadata("design:paramtypes", [ChangeDetectorRef])
14373
14371
  ], GIPIRadioGroupComponent);
14374
14372
 
14375
- var GIPISelectButtonComponent_1;
14376
- let GIPISelectButtonComponent = GIPISelectButtonComponent_1 = class GIPISelectButtonComponent {
14377
- constructor(_elementRef, _changeDetectorRef) {
14378
- this._elementRef = _elementRef;
14379
- this._changeDetectorRef = _changeDetectorRef;
14380
- this.isButtonPrimary = this._hasHostAttributes('gipi-primary');
14381
- this.isButtonSecondary = this._hasHostAttributes('gipi-secondary');
14382
- this.required = false;
14383
- this.multiple = false;
14384
- this.disabled = false;
14385
- this.onOptionClick = new EventEmitter();
14386
- this.onChange = new EventEmitter();
14387
- this.onModelChange = () => { };
14388
- this.onModelTouched = () => { };
14389
- }
14390
- ngOnInit() { }
14391
- writeValue(obj) {
14392
- this.value = obj;
14393
- this._changeDetectorRef.markForCheck();
14373
+ var GIPIRangePageComponent_1;
14374
+ let nextUniqueId$f = 0;
14375
+ class RangePage {
14376
+ constructor(start, end) {
14377
+ this.start = start;
14378
+ this.end = end;
14394
14379
  }
14395
- registerOnChange(fn) {
14396
- this.onModelChange = fn;
14380
+ getTotalCount() {
14381
+ return (this.end - this.start) + 1;
14397
14382
  }
14398
- registerOnTouched(fn) {
14399
- this.onModelTouched = fn;
14383
+ getRange() {
14384
+ return Array.from({ length: this.getTotalCount() }, (_, i) => this.start - 1 + i);
14385
+ }
14386
+ }
14387
+ let GIPIRangePageComponent = GIPIRangePageComponent_1 = class GIPIRangePageComponent {
14388
+ constructor(elementRef, _changeDetectorRef) {
14389
+ this.elementRef = elementRef;
14390
+ this._changeDetectorRef = _changeDetectorRef;
14391
+ this._name = `gipi-range-page-${nextUniqueId$f++}`;
14392
+ this._startPage = 1;
14393
+ this._endPage = 1;
14394
+ this.id = this._name;
14395
+ this.name = this._name;
14396
+ this.label = '';
14397
+ this.tooltip = '';
14398
+ this.placeholderStart = '';
14399
+ this.placeholderEnd = '';
14400
+ this.help = '';
14401
+ this._min = 1;
14402
+ this._max = 100;
14403
+ this._step = 1;
14404
+ this._required = false;
14405
+ this._disabled = false;
14406
+ this.onChange = (value) => { };
14407
+ this.onTouched = () => { };
14408
+ }
14409
+ get min() {
14410
+ return NumberUtil.isNumber(this._min) ? this._min : 1;
14411
+ }
14412
+ set min(value) {
14413
+ this._min = value;
14414
+ this._initPage();
14415
+ }
14416
+ get max() {
14417
+ return NumberUtil.isNumber(this._max) ? this._max : 100;
14418
+ }
14419
+ set max(value) {
14420
+ this._max = value;
14421
+ this._initPage();
14422
+ }
14423
+ get step() {
14424
+ return NumberUtil.isNumber(this._step) ? this._step : 1;
14425
+ }
14426
+ set step(value) {
14427
+ this._step = value;
14428
+ this._initPage();
14429
+ }
14430
+ get required() {
14431
+ return this._required;
14432
+ }
14433
+ set required(value) {
14434
+ this._required = coerceBooleanProperty(value);
14435
+ }
14436
+ get disabled() {
14437
+ return this._disabled;
14438
+ }
14439
+ set disabled(value) {
14440
+ this._disabled = coerceBooleanProperty(value);
14441
+ }
14442
+ get formattedValue() {
14443
+ return '';
14444
+ }
14445
+ ngOnInit() {
14446
+ this._initPage();
14447
+ }
14448
+ ngOnDestroy() { }
14449
+ writeValue(value) {
14450
+ if (!ObjectUtil.isNull(value)) {
14451
+ this._startPage = value.start || this._startPage;
14452
+ this._endPage = value.end || this._endPage;
14453
+ }
14454
+ this._changeDetectorRef.detectChanges();
14455
+ }
14456
+ registerOnChange(fn) {
14457
+ this.onChange = fn;
14458
+ }
14459
+ registerOnTouched(fn) {
14460
+ this.onTouched = fn;
14400
14461
  }
14401
14462
  setDisabledState(isDisabled) {
14402
14463
  this.disabled = isDisabled;
14403
14464
  this._changeDetectorRef.markForCheck();
14404
14465
  }
14405
- getOptionLabel(option) {
14406
- return this.optionLabel ? ObjectUtil.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;
14407
- }
14408
- getOptionValue(option) {
14409
- return this.optionValue ? ObjectUtil.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;
14410
- }
14411
- isOptionDisabled(option) {
14412
- return this.optionDisabled ? ObjectUtil.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;
14466
+ _initPage() {
14467
+ this._startPage = this.min;
14468
+ this._endPage = Math.min(this._startPage + this.step - 1, this.max);
14413
14469
  }
14414
- onItemClick(event, option, index) {
14415
- if (this.disabled || this.isOptionDisabled(option)) {
14470
+ updateEndPage() {
14471
+ if (this.disabled) {
14416
14472
  return;
14417
14473
  }
14418
- if (this.multiple) {
14419
- if (this.isSelected(option)) {
14420
- this.removeOption(option);
14421
- }
14422
- else {
14423
- this.value = [...(this.value || []), this.getOptionValue(option)];
14424
- }
14425
- this.onModelChange(this.value);
14426
- this.onChange.emit({
14427
- originalEvent: event,
14428
- value: this.value
14429
- });
14474
+ if (this._startPage < this.min) {
14475
+ this._startPage = this.min;
14430
14476
  }
14431
- else {
14432
- const value = this.getOptionValue(option);
14433
- if (this.value !== value) {
14434
- this.value = this.getOptionValue(option);
14435
- this.onModelChange(this.value);
14436
- this.onChange.emit({
14437
- originalEvent: event,
14438
- value: this.value
14439
- });
14440
- }
14477
+ else if (this._startPage > this.max) {
14478
+ this._startPage = this.max;
14441
14479
  }
14442
- this.onOptionClick.emit({
14443
- originalEvent: event,
14444
- option: option,
14445
- index: index
14446
- });
14480
+ if (this._endPage < this._startPage) {
14481
+ this._endPage = this._startPage;
14482
+ }
14483
+ else if (this._endPage > (this._startPage + (this.step - 1))) {
14484
+ this._endPage = Math.min(this._startPage + this.step - 1, this.max);
14485
+ }
14486
+ this._propagateChange();
14447
14487
  }
14448
- isSelected(option) {
14449
- let selected = false;
14450
- const optionValue = this.getOptionValue(option);
14451
- if (this.multiple) {
14452
- if (this.value && Array.isArray(this.value)) {
14453
- for (const val of this.value) {
14454
- if (ObjectUtil.equals(val, optionValue, this.dataKey)) {
14455
- selected = true;
14456
- break;
14457
- }
14458
- }
14459
- }
14488
+ updateStartPage() {
14489
+ if (this.disabled) {
14490
+ return;
14460
14491
  }
14461
- else {
14462
- selected = ObjectUtil.equals(this.getOptionValue(option), this.value, this.dataKey);
14492
+ if (this._endPage > this.max) {
14493
+ this._endPage = this.max;
14463
14494
  }
14464
- return selected;
14495
+ else if (this._endPage > this.max) {
14496
+ this._endPage = this.max;
14497
+ }
14498
+ if (this._startPage > this._endPage) {
14499
+ this._startPage = this._endPage;
14500
+ }
14501
+ else if (this._startPage < (this._endPage - (this.step + 1))) {
14502
+ this._startPage = Math.max(this._endPage - this.step + 1, this.min);
14503
+ }
14504
+ this._propagateChange();
14465
14505
  }
14466
- removeOption(option) {
14467
- this.value = this.value.filter(val => !ObjectUtil.equals(val, this.getOptionValue(option), this.dataKey));
14506
+ previous() {
14507
+ if (this.disabled) {
14508
+ return;
14509
+ }
14510
+ const newStartPage = Math.max(this._startPage - this.step + 1, this.min);
14511
+ let newEndPage = Math.min(newStartPage + this.step - 1, this.max);
14512
+ if (newEndPage >= this.min) {
14513
+ this._startPage = newStartPage;
14514
+ this._endPage = newEndPage;
14515
+ this._propagateChange();
14516
+ }
14468
14517
  }
14469
- onBlur() {
14470
- this.onModelTouched();
14518
+ next() {
14519
+ if (this.disabled) {
14520
+ return;
14521
+ }
14522
+ // const newStartPage = Math.min(this._startPage + this.step, this.max - this.step + 1);
14523
+ // let newEndPage = newStartPage + this.step - 1;
14524
+ const newStartPage = Math.min(this._startPage + this.step, this.max);
14525
+ let newEndPage = Math.min(newStartPage + this.step - 1, this.max);
14526
+ if ((newStartPage === this.max) || (newEndPage > this.max)) {
14527
+ newEndPage = newStartPage;
14528
+ }
14529
+ if (newEndPage <= this.max) {
14530
+ this._startPage = newStartPage;
14531
+ this._endPage = newEndPage;
14532
+ this._propagateChange();
14533
+ }
14471
14534
  }
14472
- _getHostElement() {
14473
- return this._elementRef.nativeElement;
14535
+ selectText(input) {
14536
+ if (this.disabled || !input) {
14537
+ return;
14538
+ }
14539
+ setTimeout(() => input.select(), 0);
14474
14540
  }
14475
- _hasHostAttributes(...attributes) {
14476
- return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
14541
+ _propagateChange() {
14542
+ this.onChange(new RangePage(this._startPage, this._endPage));
14543
+ this.onTouched();
14477
14544
  }
14478
14545
  };
14479
- GIPISelectButtonComponent.ctorParameters = () => [
14546
+ GIPIRangePageComponent.ctorParameters = () => [
14480
14547
  { type: ElementRef },
14481
14548
  { type: ChangeDetectorRef }
14482
14549
  ];
14483
- __decorate([
14484
- Input(),
14485
- __metadata("design:type", Object)
14486
- ], GIPISelectButtonComponent.prototype, "id", void 0);
14487
14550
  __decorate([
14488
14551
  Input(),
14489
14552
  __metadata("design:type", String)
14490
- ], GIPISelectButtonComponent.prototype, "arialLabel", void 0);
14553
+ ], GIPIRangePageComponent.prototype, "id", void 0);
14491
14554
  __decorate([
14492
14555
  Input(),
14493
14556
  __metadata("design:type", String)
14494
- ], GIPISelectButtonComponent.prototype, "dataKey", void 0);
14557
+ ], GIPIRangePageComponent.prototype, "name", void 0);
14495
14558
  __decorate([
14496
14559
  Input(),
14497
14560
  __metadata("design:type", String)
14498
- ], GIPISelectButtonComponent.prototype, "label", void 0);
14561
+ ], GIPIRangePageComponent.prototype, "label", void 0);
14499
14562
  __decorate([
14500
14563
  Input(),
14501
- __metadata("design:type", Boolean)
14502
- ], GIPISelectButtonComponent.prototype, "required", void 0);
14564
+ __metadata("design:type", String)
14565
+ ], GIPIRangePageComponent.prototype, "tooltip", void 0);
14503
14566
  __decorate([
14504
14567
  Input(),
14505
- __metadata("design:type", Array)
14506
- ], GIPISelectButtonComponent.prototype, "options", void 0);
14568
+ __metadata("design:type", String)
14569
+ ], GIPIRangePageComponent.prototype, "placeholderStart", void 0);
14507
14570
  __decorate([
14508
14571
  Input(),
14509
14572
  __metadata("design:type", String)
14510
- ], GIPISelectButtonComponent.prototype, "optionLabel", void 0);
14573
+ ], GIPIRangePageComponent.prototype, "placeholderEnd", void 0);
14511
14574
  __decorate([
14512
14575
  Input(),
14513
14576
  __metadata("design:type", String)
14514
- ], GIPISelectButtonComponent.prototype, "optionValue", void 0);
14577
+ ], GIPIRangePageComponent.prototype, "help", void 0);
14515
14578
  __decorate([
14516
14579
  Input(),
14517
- __metadata("design:type", String)
14518
- ], GIPISelectButtonComponent.prototype, "optionDisabled", void 0);
14580
+ __metadata("design:type", Number),
14581
+ __metadata("design:paramtypes", [Number])
14582
+ ], GIPIRangePageComponent.prototype, "min", null);
14519
14583
  __decorate([
14520
14584
  Input(),
14521
- __metadata("design:type", Boolean)
14522
- ], GIPISelectButtonComponent.prototype, "multiple", void 0);
14585
+ __metadata("design:type", Number),
14586
+ __metadata("design:paramtypes", [Number])
14587
+ ], GIPIRangePageComponent.prototype, "max", null);
14523
14588
  __decorate([
14524
14589
  Input(),
14525
- __metadata("design:type", Boolean)
14526
- ], GIPISelectButtonComponent.prototype, "disabled", void 0);
14590
+ __metadata("design:type", Number),
14591
+ __metadata("design:paramtypes", [Number])
14592
+ ], GIPIRangePageComponent.prototype, "step", null);
14527
14593
  __decorate([
14528
- Output(),
14529
- __metadata("design:type", EventEmitter)
14530
- ], GIPISelectButtonComponent.prototype, "onOptionClick", void 0);
14594
+ Input(),
14595
+ __metadata("design:type", Boolean),
14596
+ __metadata("design:paramtypes", [Boolean])
14597
+ ], GIPIRangePageComponent.prototype, "required", null);
14531
14598
  __decorate([
14532
- Output(),
14533
- __metadata("design:type", EventEmitter)
14534
- ], GIPISelectButtonComponent.prototype, "onChange", void 0);
14535
- GIPISelectButtonComponent = GIPISelectButtonComponent_1 = __decorate([
14599
+ Input(),
14600
+ __metadata("design:type", Boolean),
14601
+ __metadata("design:paramtypes", [Boolean])
14602
+ ], GIPIRangePageComponent.prototype, "disabled", null);
14603
+ GIPIRangePageComponent = GIPIRangePageComponent_1 = __decorate([
14604
+ Component({
14605
+ selector: 'gipi-range-page',
14606
+ template: "<label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n</label>\n\n<div class=\"input-content\">\n <div class=\"prefix\"\n [class.disabled]=\"disabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </div>\n <input #startInput\n matInput\n class=\"input-element\"\n type=\"number\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"10\"\n [placeholder]=\"placeholderStart\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"false\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [(ngModel)]=\"_startPage\"\n (keyup)=\"updateEndPage()\"\n (focus)=\"selectText(startInput)\"\n (click)=\"selectText(startInput)\" />\n <div class=\"infix\">\n a\n </div>\n <input #endInput\n matInput\n class=\"input-element\"\n type=\"number\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [min]=\"_startPage\"\n [max]=\"max\"\n [maxlength]=\"10\"\n [placeholder]=\"placeholderEnd\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"false\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [(ngModel)]=\"_endPage\"\n (keyup)=\"updateStartPage()\"\n (focus)=\"selectText(endInput)\"\n (click)=\"selectText(endInput)\" />\n <div class=\"suffix\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n</div>\n\n<small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n</small>",
14607
+ providers: [
14608
+ {
14609
+ provide: NG_VALUE_ACCESSOR,
14610
+ useExisting: forwardRef(() => GIPIRangePageComponent_1),
14611
+ multi: true
14612
+ },
14613
+ ],
14614
+ styles: [":host{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .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}:host .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0;text-align:center;margin:0!important}:host .input-content .input-element::-webkit-inner-spin-button,:host .input-content .input-element::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;opacity:0}:host .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}:host .input-content .input-element:disabled{cursor:not-allowed}:host .input-content .infix,:host .input-content .prefix,:host .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;padding-inline:.8rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:.2s;background-color:#e0313e}:host .input-content .infix>mat-icon,:host .input-content .prefix>mat-icon,:host .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#fff}:host .input-content .infix:not(.infix):not(.disabled):hover,:host .input-content .prefix:not(.infix):not(.disabled):hover,:host .input-content .suffix:not(.infix):not(.disabled):hover{background-color:#cc2d38}:host .input-content .infix:not(.infix):not(.disabled):active,:host .input-content .prefix:not(.infix):not(.disabled):active,:host .input-content .suffix:not(.infix):not(.disabled):active{background-color:#9f232c}:host .input-content .prefix.disabled,:host .input-content .suffix.disabled{background-color:#d1d2d4}:host .input-content .prefix.disabled>mat-icon,:host .input-content .suffix.disabled>mat-icon{color:#9a9da2}:host .input-content .prefix{border-right:1px solid rgba(0,0,0,.12);border-radius:.6rem 0 0 .6rem;cursor:pointer}:host .input-content .infix{width:1rem;padding:0;background-color:transparent}:host .input-content .suffix{border-left:1px solid rgba(0,0,0,.12);border-radius:0 .6rem .6rem 0;cursor:pointer}:host .input-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}"]
14615
+ }),
14616
+ __metadata("design:paramtypes", [ElementRef,
14617
+ ChangeDetectorRef])
14618
+ ], GIPIRangePageComponent);
14619
+
14620
+ var GIPIRangeSliderComponent_1;
14621
+ let nextUniqueId$g = 0;
14622
+ let GIPIRangeSliderComponent = GIPIRangeSliderComponent_1 = class GIPIRangeSliderComponent {
14623
+ constructor(elementRef, _changeDetectorRef) {
14624
+ this.elementRef = elementRef;
14625
+ this._changeDetectorRef = _changeDetectorRef;
14626
+ this._name = `gipi-range-slider-${nextUniqueId$g++}`;
14627
+ this.id = this._name;
14628
+ this.name = this._name;
14629
+ this.label = '';
14630
+ this.help = '';
14631
+ this.min = 1;
14632
+ this.max = 100;
14633
+ this._maxRange = 5;
14634
+ this._fromValue = 1;
14635
+ this._toValue = 1;
14636
+ this._step = 1;
14637
+ this._disabled = false;
14638
+ this._required = false;
14639
+ this.onChange = () => { };
14640
+ this.onTouched = () => { };
14641
+ }
14642
+ get maxRange() {
14643
+ return this._maxRange || 5;
14644
+ }
14645
+ set maxRange(value) {
14646
+ if (!value || (value <= 0)) {
14647
+ throw new Error('Minimum value for "maxRange" must be 1');
14648
+ }
14649
+ this._maxRange = value || 5;
14650
+ }
14651
+ get fromValue() {
14652
+ return this._fromValue || 1;
14653
+ }
14654
+ set fromValue(value) {
14655
+ if (!value || (value <= 0)) {
14656
+ throw new Error('Minimum value for "from" must be 1');
14657
+ }
14658
+ this._fromValue = value || 1;
14659
+ }
14660
+ get toValue() {
14661
+ return this._toValue || 1;
14662
+ }
14663
+ set toValue(value) {
14664
+ if (!value || (value <= 0)) {
14665
+ throw new Error('Minimum value for "to" must be 1');
14666
+ }
14667
+ this._toValue = value || 1;
14668
+ }
14669
+ get step() {
14670
+ return this._step || 1;
14671
+ }
14672
+ set step(value) {
14673
+ if (!value || (value <= 0)) {
14674
+ throw new Error('Minimum value for "step" must be 1');
14675
+ }
14676
+ this._step = value || 1;
14677
+ }
14678
+ get disabled() {
14679
+ return this._disabled;
14680
+ }
14681
+ set disabled(value) {
14682
+ this._disabled = coerceBooleanProperty(value);
14683
+ }
14684
+ get required() {
14685
+ return this._required;
14686
+ }
14687
+ set required(value) {
14688
+ this._required = coerceBooleanProperty(value);
14689
+ }
14690
+ ngOnInit() { }
14691
+ ngAfterViewInit() {
14692
+ this._fillSlider();
14693
+ this._setToggleAccessible();
14694
+ }
14695
+ ngOnDestroy() { }
14696
+ writeValue(value) {
14697
+ if (value) {
14698
+ this.fromValue = value.from;
14699
+ this.toValue = value.to;
14700
+ if (this.fromSlider && this.toSlider) {
14701
+ this.fromSlider.nativeElement.value = this.fromValue.toString();
14702
+ this.toSlider.nativeElement.value = this.toValue.toString();
14703
+ this._fillSlider();
14704
+ this._setToggleAccessible();
14705
+ }
14706
+ }
14707
+ }
14708
+ registerOnChange(fn) {
14709
+ this.onChange = fn;
14710
+ }
14711
+ registerOnTouched(fn) {
14712
+ this.onTouched = fn;
14713
+ }
14714
+ setDisabledState(isDisabled) {
14715
+ this.disabled = isDisabled;
14716
+ this._changeDetectorRef.markForCheck();
14717
+ }
14718
+ controlFromInput(isByNgModel) {
14719
+ let [from, to] = isByNgModel ? [this.fromValue, this.toValue] : this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14720
+ from = this._roundToStep(from);
14721
+ to = this._roundToStep(to);
14722
+ // if ((to - from) > this.maxRange) {
14723
+ // from = to - this.maxRange;
14724
+ // }
14725
+ this._fillSlider();
14726
+ this._setToggleAccessible();
14727
+ if (from > to) {
14728
+ this.fromValue = to;
14729
+ }
14730
+ this.fromSlider.nativeElement.value = this.fromValue.toString();
14731
+ this._notifyValueChange();
14732
+ }
14733
+ controlToInput(isByNgModel) {
14734
+ let [from, to] = isByNgModel ? [this.fromValue, this.toValue] : this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14735
+ from = this._roundToStep(from);
14736
+ to = this._roundToStep(to);
14737
+ // if ((to - from) > this.maxRange) {
14738
+ // to = from + this.maxRange;
14739
+ // }
14740
+ this._fillSlider();
14741
+ this._setToggleAccessible();
14742
+ if (from <= to) {
14743
+ this.toValue = to;
14744
+ }
14745
+ else {
14746
+ this.toValue = from;
14747
+ }
14748
+ this.toSlider.nativeElement.value = this.toValue.toString();
14749
+ this._notifyValueChange();
14750
+ }
14751
+ controlFromSlider() {
14752
+ let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14753
+ from = this._roundToStep(from);
14754
+ to = this._roundToStep(to);
14755
+ if ((to - from) > this.maxRange) {
14756
+ from = to - this.maxRange;
14757
+ }
14758
+ this._fillSlider();
14759
+ this._setToggleAccessible();
14760
+ if ((to - from) === this.maxRange) {
14761
+ let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14762
+ from = this._roundToStep(from);
14763
+ to = this._roundToStep(to);
14764
+ if ((to - from) > this.maxRange) {
14765
+ to = from + this.maxRange;
14766
+ }
14767
+ this._fillSlider();
14768
+ if (from <= to) {
14769
+ this.toValue = to;
14770
+ }
14771
+ else {
14772
+ this.toValue = from;
14773
+ }
14774
+ this.toSlider.nativeElement.value = this.toValue.toString();
14775
+ }
14776
+ if (from >= to) {
14777
+ this.fromValue = to;
14778
+ }
14779
+ else {
14780
+ this.fromValue = from;
14781
+ }
14782
+ this.fromSlider.nativeElement.value = this.fromValue.toString();
14783
+ this._notifyValueChange();
14784
+ }
14785
+ controlToSlider() {
14786
+ let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14787
+ from = this._roundToStep(from);
14788
+ to = this._roundToStep(to);
14789
+ if ((to - from) > this.maxRange) {
14790
+ to = from + this.maxRange;
14791
+ }
14792
+ this._fillSlider();
14793
+ this._setToggleAccessible();
14794
+ if ((to - from) === this.maxRange) {
14795
+ let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
14796
+ from = this._roundToStep(from);
14797
+ to = this._roundToStep(to);
14798
+ if ((to - from) > this.maxRange) {
14799
+ from = to - this.maxRange;
14800
+ }
14801
+ this._fillSlider();
14802
+ if (from >= to) {
14803
+ this.fromValue = to;
14804
+ }
14805
+ else {
14806
+ this.fromValue = from;
14807
+ }
14808
+ this.fromSlider.nativeElement.value = this.fromValue.toString();
14809
+ }
14810
+ if (from <= to) {
14811
+ this.toValue = to;
14812
+ }
14813
+ else {
14814
+ this.toValue = from;
14815
+ }
14816
+ this.toSlider.nativeElement.value = this.toValue.toString();
14817
+ this._notifyValueChange();
14818
+ }
14819
+ _getParsed(currentFrom, currentTo) {
14820
+ const from = parseInt(currentFrom.value, 10);
14821
+ const to = parseInt(currentTo.value, 10);
14822
+ return [from, to];
14823
+ }
14824
+ _fillSlider() {
14825
+ const fromSliderEl = this.fromSlider.nativeElement;
14826
+ const toSliderEl = this.toSlider.nativeElement;
14827
+ const rangeDistance = Number(toSliderEl.max) - Number(toSliderEl.min);
14828
+ const fromPosition = (this.fromValue - Number(fromSliderEl.min));
14829
+ const toPosition = (this.toValue - Number(toSliderEl.min));
14830
+ const sliderColor = '#e0e1e2';
14831
+ const rangeColor = '#f1a0a6';
14832
+ toSliderEl.style.background = `linear-gradient(
14833
+ to right,
14834
+ ${sliderColor} 0%,
14835
+ ${sliderColor} ${(fromPosition) / (rangeDistance) * 100}%,
14836
+ ${rangeColor} ${((fromPosition) / (rangeDistance)) * 100}%,
14837
+ ${rangeColor} ${(toPosition) / (rangeDistance) * 100}%,
14838
+ ${sliderColor} ${(toPosition) / (rangeDistance) * 100}%,
14839
+ ${sliderColor} 100%)`;
14840
+ }
14841
+ _setToggleAccessible() {
14842
+ const fromInput = this.fromSlider.nativeElement;
14843
+ const toInput = this.toSlider.nativeElement;
14844
+ const fromValue = parseInt(fromInput.value, 10);
14845
+ const toValue = parseInt(toInput.value, 10);
14846
+ if (fromValue <= parseInt(fromInput.min, 10) && toValue <= parseInt(toInput.min, 10)) {
14847
+ // Ambos estão no mínimo
14848
+ fromInput.style.zIndex = '1';
14849
+ toInput.style.zIndex = '2';
14850
+ }
14851
+ else if (fromValue >= parseInt(fromInput.max, 10) && toValue >= parseInt(toInput.max, 10)) {
14852
+ // Ambos estão no máximo
14853
+ fromInput.style.zIndex = '2';
14854
+ toInput.style.zIndex = '1';
14855
+ }
14856
+ else {
14857
+ // Caso geral
14858
+ fromInput.style.zIndex = '2';
14859
+ toInput.style.zIndex = '1';
14860
+ }
14861
+ }
14862
+ _roundToStep(value) {
14863
+ return Math.round(value / this.step) * this.step;
14864
+ }
14865
+ _notifyValueChange() {
14866
+ this.onChange({ from: this.fromValue, to: this.toValue });
14867
+ }
14868
+ onBlur() {
14869
+ this.onTouched();
14870
+ }
14871
+ };
14872
+ GIPIRangeSliderComponent.ctorParameters = () => [
14873
+ { type: ElementRef },
14874
+ { type: ChangeDetectorRef }
14875
+ ];
14876
+ __decorate([
14877
+ ViewChild('fromSlider', { static: false }),
14878
+ __metadata("design:type", ElementRef)
14879
+ ], GIPIRangeSliderComponent.prototype, "fromSlider", void 0);
14880
+ __decorate([
14881
+ ViewChild('toSlider', { static: false }),
14882
+ __metadata("design:type", ElementRef)
14883
+ ], GIPIRangeSliderComponent.prototype, "toSlider", void 0);
14884
+ __decorate([
14885
+ Input(),
14886
+ __metadata("design:type", String)
14887
+ ], GIPIRangeSliderComponent.prototype, "id", void 0);
14888
+ __decorate([
14889
+ Input(),
14890
+ __metadata("design:type", String)
14891
+ ], GIPIRangeSliderComponent.prototype, "name", void 0);
14892
+ __decorate([
14893
+ Input(),
14894
+ __metadata("design:type", String)
14895
+ ], GIPIRangeSliderComponent.prototype, "label", void 0);
14896
+ __decorate([
14897
+ Input(),
14898
+ __metadata("design:type", String)
14899
+ ], GIPIRangeSliderComponent.prototype, "help", void 0);
14900
+ __decorate([
14901
+ Input(),
14902
+ __metadata("design:type", Number)
14903
+ ], GIPIRangeSliderComponent.prototype, "min", void 0);
14904
+ __decorate([
14905
+ Input(),
14906
+ __metadata("design:type", Number)
14907
+ ], GIPIRangeSliderComponent.prototype, "max", void 0);
14908
+ __decorate([
14909
+ Input(),
14910
+ __metadata("design:type", Number),
14911
+ __metadata("design:paramtypes", [Number])
14912
+ ], GIPIRangeSliderComponent.prototype, "maxRange", null);
14913
+ __decorate([
14914
+ Input('from'),
14915
+ __metadata("design:type", Number),
14916
+ __metadata("design:paramtypes", [Number])
14917
+ ], GIPIRangeSliderComponent.prototype, "fromValue", null);
14918
+ __decorate([
14919
+ Input('to'),
14920
+ __metadata("design:type", Number),
14921
+ __metadata("design:paramtypes", [Number])
14922
+ ], GIPIRangeSliderComponent.prototype, "toValue", null);
14923
+ __decorate([
14924
+ Input(),
14925
+ __metadata("design:type", Number),
14926
+ __metadata("design:paramtypes", [Number])
14927
+ ], GIPIRangeSliderComponent.prototype, "step", null);
14928
+ __decorate([
14929
+ Input(),
14930
+ __metadata("design:type", Boolean),
14931
+ __metadata("design:paramtypes", [Boolean])
14932
+ ], GIPIRangeSliderComponent.prototype, "disabled", null);
14933
+ __decorate([
14934
+ Input(),
14935
+ __metadata("design:type", Boolean),
14936
+ __metadata("design:paramtypes", [Boolean])
14937
+ ], GIPIRangeSliderComponent.prototype, "required", null);
14938
+ GIPIRangeSliderComponent = GIPIRangeSliderComponent_1 = __decorate([
14939
+ Component({
14940
+ selector: 'gipi-range-slider',
14941
+ exportAs: 'gipiRangeSlider',
14942
+ template: "<label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n</label>\n\n<div class=\"slider-wrapper\">\n <!-- <input type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [(ngModel)]=\"fromValue\"\n (ngModelChange)=\"controlFromInput(true)\"\n (input)=\"controlFromInput(false)\"\n (blur)=\"onBlur()\" /> -->\n <span class=\"value min\">\n {{ min }}\n </span>\n <div class=\"sliders-control\">\n <input #fromSlider\n id=\"fromSlider\"\n type=\"range\"\n class=\"from-value\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"fromValue\"\n (input)=\"controlFromSlider()\"\n (mouseup)=\"controlFromSlider()\"\n (blur)=\"onBlur()\" />\n <input #toSlider\n id=\"toSlider\"\n type=\"range\"\n class=\"to-value\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"toValue\"\n (input)=\"controlToSlider()\"\n (mouseup)=\"controlToSlider()\"\n (blur)=\"onBlur()\" />\n </div>\n <span class=\"value max\">\n {{ max }}\n </span>\n <!-- <input type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [(ngModel)]=\"toValue\"\n (ngModelChange)=\"controlToInput(true)\"\n (input)=\"controlToInput(false)\"\n (blur)=\"onBlur()\" /> -->\n</div>\n<span class=\"value min\">\n {{ fromValue }} - {{ toValue }}\n</span>\n<small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n</small>",
14943
+ providers: [
14944
+ {
14945
+ provide: NG_VALUE_ACCESSOR,
14946
+ useExisting: forwardRef(() => GIPIRangeSliderComponent_1),
14947
+ multi: true
14948
+ },
14949
+ ],
14950
+ host: {
14951
+ 'class': 'gipi-range-slider',
14952
+ },
14953
+ changeDetection: ChangeDetectionStrategy.OnPush,
14954
+ styles: [":host{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .slider-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1.6rem}:host .slider-wrapper>input{display:flex;font-family:inherit;font-size:inherit;color:inherit;text-align:center;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:.6rem;outline:0}:host .sliders-control{display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;flex:1}:host .from-value,:host .to-value{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.6rem;border-radius:.4rem;width:100%;position:absolute;background-color:#e0e1e2;pointer-events:none;outline:0}:host .from-value::-webkit-slider-thumb,:host .to-value::-webkit-slider-thumb{-webkit-appearance:none;display:block;width:1.4rem;height:1.4rem;border-radius:50%;background-color:#e0313e;pointer-events:all;box-shadow:0 .5px 0 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.14);cursor:-webkit-grab;cursor:grab;outline:0}:host .from-value::-webkit-slider-thumb:hover,:host .to-value::-webkit-slider-thumb:hover{background-color:#cc2d38}:host .from-value::-webkit-slider-thumb:active,:host .to-value::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #e0313e,0 0 9px #e0313e;-webkit-box-shadow:inset 0 0 3px #e0313e,0 0 9px #e0313e;cursor:-webkit-grabbing;cursor:grabbing}:host input[type=number]{border:1px solid rgba(0,0,0,.12);color:#131313;width:50px;height:30px;font-size:20px;outline:0}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;opacity:0}:host #fromSlider{height:0;z-index:1}"]
14955
+ }),
14956
+ __metadata("design:paramtypes", [ElementRef,
14957
+ ChangeDetectorRef])
14958
+ ], GIPIRangeSliderComponent);
14959
+
14960
+ var GIPISelectButtonComponent_1;
14961
+ let GIPISelectButtonComponent = GIPISelectButtonComponent_1 = class GIPISelectButtonComponent {
14962
+ constructor(_elementRef, _changeDetectorRef) {
14963
+ this._elementRef = _elementRef;
14964
+ this._changeDetectorRef = _changeDetectorRef;
14965
+ this.isButtonPrimary = this._hasHostAttributes('gipi-primary');
14966
+ this.isButtonSecondary = this._hasHostAttributes('gipi-secondary');
14967
+ this.required = false;
14968
+ this.multiple = false;
14969
+ this.disabled = false;
14970
+ this.onOptionClick = new EventEmitter();
14971
+ this.onChange = new EventEmitter();
14972
+ this.onModelChange = () => { };
14973
+ this.onModelTouched = () => { };
14974
+ }
14975
+ ngOnInit() { }
14976
+ writeValue(obj) {
14977
+ this.value = obj;
14978
+ this._changeDetectorRef.markForCheck();
14979
+ }
14980
+ registerOnChange(fn) {
14981
+ this.onModelChange = fn;
14982
+ }
14983
+ registerOnTouched(fn) {
14984
+ this.onModelTouched = fn;
14985
+ }
14986
+ setDisabledState(isDisabled) {
14987
+ this.disabled = isDisabled;
14988
+ this._changeDetectorRef.markForCheck();
14989
+ }
14990
+ getOptionLabel(option) {
14991
+ return this.optionLabel ? ObjectUtil.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;
14992
+ }
14993
+ getOptionValue(option) {
14994
+ return this.optionValue ? ObjectUtil.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;
14995
+ }
14996
+ isOptionDisabled(option) {
14997
+ return this.optionDisabled ? ObjectUtil.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;
14998
+ }
14999
+ onItemClick(event, option, index) {
15000
+ if (this.disabled || this.isOptionDisabled(option)) {
15001
+ return;
15002
+ }
15003
+ if (this.multiple) {
15004
+ if (this.isSelected(option)) {
15005
+ this.removeOption(option);
15006
+ }
15007
+ else {
15008
+ this.value = [...(this.value || []), this.getOptionValue(option)];
15009
+ }
15010
+ this.onModelChange(this.value);
15011
+ this.onChange.emit({
15012
+ originalEvent: event,
15013
+ value: this.value
15014
+ });
15015
+ }
15016
+ else {
15017
+ const value = this.getOptionValue(option);
15018
+ if (this.value !== value) {
15019
+ this.value = this.getOptionValue(option);
15020
+ this.onModelChange(this.value);
15021
+ this.onChange.emit({
15022
+ originalEvent: event,
15023
+ value: this.value
15024
+ });
15025
+ }
15026
+ }
15027
+ this.onOptionClick.emit({
15028
+ originalEvent: event,
15029
+ option: option,
15030
+ index: index
15031
+ });
15032
+ }
15033
+ isSelected(option) {
15034
+ let selected = false;
15035
+ const optionValue = this.getOptionValue(option);
15036
+ if (this.multiple) {
15037
+ if (this.value && Array.isArray(this.value)) {
15038
+ for (const val of this.value) {
15039
+ if (ObjectUtil.equals(val, optionValue, this.dataKey)) {
15040
+ selected = true;
15041
+ break;
15042
+ }
15043
+ }
15044
+ }
15045
+ }
15046
+ else {
15047
+ selected = ObjectUtil.equals(this.getOptionValue(option), this.value, this.dataKey);
15048
+ }
15049
+ return selected;
15050
+ }
15051
+ removeOption(option) {
15052
+ this.value = this.value.filter(val => !ObjectUtil.equals(val, this.getOptionValue(option), this.dataKey));
15053
+ }
15054
+ onBlur() {
15055
+ this.onModelTouched();
15056
+ }
15057
+ _getHostElement() {
15058
+ return this._elementRef.nativeElement;
15059
+ }
15060
+ _hasHostAttributes(...attributes) {
15061
+ return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
15062
+ }
15063
+ };
15064
+ GIPISelectButtonComponent.ctorParameters = () => [
15065
+ { type: ElementRef },
15066
+ { type: ChangeDetectorRef }
15067
+ ];
15068
+ __decorate([
15069
+ Input(),
15070
+ __metadata("design:type", Object)
15071
+ ], GIPISelectButtonComponent.prototype, "id", void 0);
15072
+ __decorate([
15073
+ Input(),
15074
+ __metadata("design:type", String)
15075
+ ], GIPISelectButtonComponent.prototype, "arialLabel", void 0);
15076
+ __decorate([
15077
+ Input(),
15078
+ __metadata("design:type", String)
15079
+ ], GIPISelectButtonComponent.prototype, "dataKey", void 0);
15080
+ __decorate([
15081
+ Input(),
15082
+ __metadata("design:type", String)
15083
+ ], GIPISelectButtonComponent.prototype, "label", void 0);
15084
+ __decorate([
15085
+ Input(),
15086
+ __metadata("design:type", Boolean)
15087
+ ], GIPISelectButtonComponent.prototype, "required", void 0);
15088
+ __decorate([
15089
+ Input(),
15090
+ __metadata("design:type", Array)
15091
+ ], GIPISelectButtonComponent.prototype, "options", void 0);
15092
+ __decorate([
15093
+ Input(),
15094
+ __metadata("design:type", String)
15095
+ ], GIPISelectButtonComponent.prototype, "optionLabel", void 0);
15096
+ __decorate([
15097
+ Input(),
15098
+ __metadata("design:type", String)
15099
+ ], GIPISelectButtonComponent.prototype, "optionValue", void 0);
15100
+ __decorate([
15101
+ Input(),
15102
+ __metadata("design:type", String)
15103
+ ], GIPISelectButtonComponent.prototype, "optionDisabled", void 0);
15104
+ __decorate([
15105
+ Input(),
15106
+ __metadata("design:type", Boolean)
15107
+ ], GIPISelectButtonComponent.prototype, "multiple", void 0);
15108
+ __decorate([
15109
+ Input(),
15110
+ __metadata("design:type", Boolean)
15111
+ ], GIPISelectButtonComponent.prototype, "disabled", void 0);
15112
+ __decorate([
15113
+ Output(),
15114
+ __metadata("design:type", EventEmitter)
15115
+ ], GIPISelectButtonComponent.prototype, "onOptionClick", void 0);
15116
+ __decorate([
15117
+ Output(),
15118
+ __metadata("design:type", EventEmitter)
15119
+ ], GIPISelectButtonComponent.prototype, "onChange", void 0);
15120
+ GIPISelectButtonComponent = GIPISelectButtonComponent_1 = __decorate([
14536
15121
  Component({
14537
15122
  selector: `gipi-select-button[gipi-primary], gipi-select-button[gipi-secondary]`,
14538
15123
  exportAs: 'gipiSelectButton',
@@ -14920,8 +15505,12 @@ let GIPISidenavComponent = GIPISidenavComponent_1 = class GIPISidenavComponent {
14920
15505
  this._mouseEnter = false;
14921
15506
  this.menuItems = [];
14922
15507
  this.labelToggle = 'Retrair menu';
15508
+ this.showTagNewIntegration = false;
15509
+ this.showIntegration = false;
14923
15510
  this.showConfiguration = false;
14924
15511
  this.onClickMenuItem = new EventEmitter();
15512
+ this.onClickMenuIntegration = new EventEmitter();
15513
+ this.onClickMenuConfiguration = new EventEmitter();
14925
15514
  }
14926
15515
  ngOnInit() { }
14927
15516
  ngAfterViewInit() {
@@ -15059,81 +15648,217 @@ let GIPISidenavComponent = GIPISidenavComponent_1 = class GIPISidenavComponent {
15059
15648
  }
15060
15649
  });
15061
15650
  }
15062
- onMouseLeave() {
15063
- this.isOpened.toPromise().then(isOpened => {
15064
- if (isOpened && this._mouseEnter) {
15065
- this._mouseEnter = false;
15066
- this.toggleSidenav();
15067
- }
15068
- });
15651
+ onMouseLeave() {
15652
+ this.isOpened.toPromise().then(isOpened => {
15653
+ if (isOpened && this._mouseEnter) {
15654
+ this._mouseEnter = false;
15655
+ this.toggleSidenav();
15656
+ }
15657
+ });
15658
+ }
15659
+ };
15660
+ GIPISidenavComponent.ctorParameters = () => [
15661
+ { type: NavService },
15662
+ { type: BreakpointObserverService },
15663
+ { type: Router }
15664
+ ];
15665
+ __decorate([
15666
+ ViewChild('sidenav', { static: false }),
15667
+ __metadata("design:type", MatSidenav)
15668
+ ], GIPISidenavComponent.prototype, "sidenav", void 0);
15669
+ __decorate([
15670
+ Input(),
15671
+ __metadata("design:type", Array)
15672
+ ], GIPISidenavComponent.prototype, "menuItems", void 0);
15673
+ __decorate([
15674
+ Input(),
15675
+ __metadata("design:type", String)
15676
+ ], GIPISidenavComponent.prototype, "labelToggle", void 0);
15677
+ __decorate([
15678
+ Input(),
15679
+ __metadata("design:type", Boolean)
15680
+ ], GIPISidenavComponent.prototype, "showTagNewIntegration", void 0);
15681
+ __decorate([
15682
+ Input(),
15683
+ __metadata("design:type", String)
15684
+ ], GIPISidenavComponent.prototype, "iconIntegration", void 0);
15685
+ __decorate([
15686
+ Input(),
15687
+ __metadata("design:type", String)
15688
+ ], GIPISidenavComponent.prototype, "svgIconIntegration", void 0);
15689
+ __decorate([
15690
+ Input(),
15691
+ __metadata("design:type", String)
15692
+ ], GIPISidenavComponent.prototype, "labelIntegration", void 0);
15693
+ __decorate([
15694
+ Input(),
15695
+ __metadata("design:type", Boolean)
15696
+ ], GIPISidenavComponent.prototype, "showIntegration", void 0);
15697
+ __decorate([
15698
+ Input(),
15699
+ __metadata("design:type", String)
15700
+ ], GIPISidenavComponent.prototype, "iconConfiguration", void 0);
15701
+ __decorate([
15702
+ Input(),
15703
+ __metadata("design:type", String)
15704
+ ], GIPISidenavComponent.prototype, "svgIconConfiguration", void 0);
15705
+ __decorate([
15706
+ Input(),
15707
+ __metadata("design:type", String)
15708
+ ], GIPISidenavComponent.prototype, "labelConfiguration", void 0);
15709
+ __decorate([
15710
+ Input(),
15711
+ __metadata("design:type", Boolean)
15712
+ ], GIPISidenavComponent.prototype, "showConfiguration", void 0);
15713
+ __decorate([
15714
+ Output(),
15715
+ __metadata("design:type", EventEmitter)
15716
+ ], GIPISidenavComponent.prototype, "onClickMenuItem", void 0);
15717
+ __decorate([
15718
+ Output(),
15719
+ __metadata("design:type", EventEmitter)
15720
+ ], GIPISidenavComponent.prototype, "onClickMenuIntegration", void 0);
15721
+ __decorate([
15722
+ Output(),
15723
+ __metadata("design:type", EventEmitter)
15724
+ ], GIPISidenavComponent.prototype, "onClickMenuConfiguration", void 0);
15725
+ GIPISidenavComponent = GIPISidenavComponent_1 = __decorate([
15726
+ Component({
15727
+ selector: `gipi-sidenav`,
15728
+ exportAs: 'gipiSidenav',
15729
+ template: "<mat-sidenav #sidenav\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\"\n class=\"sidenav\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n opened=\"true\">\n\n <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-bottom': (showConfiguration || showIntegration)}\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button id=\"buttonToogleSidenav\"\n name=\"toggleSidenav\"\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 *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 *ngFor=\"let menu of (levelMenuCollapsableSelected | async)\"\n class=\"sidenav-action-menu\">\n\n <a *ngIf=\"menu.type === 'ITEM'\"\n [routerLink]=\"menu.route\"\n [class.menu-active]=\"isMenuActive(menu)\"\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 *ngIf=\"menu.type === 'COLLAPSABLE'\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\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\n </div>\n </mat-nav-list>\n </div>\n\n <div class=\"sidenav-action-menu sidenav-bottom-menu\">\n <a *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 *ngIf=\"showTagNewIntegration\">\n Novo\n </div>\n </a>\n\n <a *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>\n",
15730
+ encapsulation: ViewEncapsulation.None,
15731
+ providers: [
15732
+ {
15733
+ provide: NG_VALUE_ACCESSOR,
15734
+ useExisting: forwardRef(() => GIPISidenavComponent_1),
15735
+ multi: true
15736
+ }
15737
+ ],
15738
+ host: {
15739
+ 'class': 'gipi-sidenav',
15740
+ },
15741
+ animations: [
15742
+ trigger('indicatorRotate', [
15743
+ state('closed', style({ transform: 'rotate(0deg)' })),
15744
+ state('opened', style({ transform: 'rotate(180deg)' })),
15745
+ transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
15746
+ ])
15747
+ ],
15748
+ 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 - 52px)!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}.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:1.2rem;border-radius:.4rem}"]
15749
+ }),
15750
+ __metadata("design:paramtypes", [NavService,
15751
+ BreakpointObserverService,
15752
+ Router])
15753
+ ], GIPISidenavComponent);
15754
+
15755
+ var GIPISlideToggleComponent_1;
15756
+ let nextUniqueId$h = 0;
15757
+ let GIPISlideToggleComponent = GIPISlideToggleComponent_1 = class GIPISlideToggleComponent {
15758
+ constructor(_changeDetectorRef) {
15759
+ this._changeDetectorRef = _changeDetectorRef;
15760
+ this._name = `gipi-slide-toggle-${nextUniqueId$h++}`;
15761
+ this._slideToggleValue = false;
15762
+ this.id = this._name;
15763
+ this.name = this._name;
15764
+ this.label = '';
15765
+ this.help = '';
15766
+ this._required = false;
15767
+ this._disabled = false;
15768
+ this.onChange = () => { };
15769
+ this.onTouched = () => { };
15770
+ }
15771
+ get slideToggleValue() {
15772
+ return this._slideToggleValue;
15773
+ }
15774
+ set slideToggleValue(value) {
15775
+ this._slideToggleValue = value;
15776
+ this.onChange(value);
15777
+ this.onTouched();
15778
+ }
15779
+ get required() {
15780
+ return this._required;
15781
+ }
15782
+ set required(value) {
15783
+ if (this.required !== value) {
15784
+ this._required = coerceBooleanProperty(value);
15785
+ this._changeDetectorRef.markForCheck();
15786
+ }
15787
+ }
15788
+ get disabled() {
15789
+ return this._disabled;
15790
+ }
15791
+ set disabled(value) {
15792
+ if (this.disabled !== value) {
15793
+ this._disabled = coerceBooleanProperty(value);
15794
+ this._changeDetectorRef.markForCheck();
15795
+ }
15796
+ }
15797
+ ngOnInit() { }
15798
+ writeValue(value) {
15799
+ this.slideToggleValue = value;
15800
+ this._changeDetectorRef.markForCheck();
15801
+ }
15802
+ registerOnChange(fn) {
15803
+ this.onChange = fn;
15804
+ }
15805
+ registerOnTouched(fn) {
15806
+ this.onTouched = fn;
15807
+ }
15808
+ setDisabledState(isDisabled) {
15809
+ this.disabled = isDisabled;
15810
+ this._changeDetectorRef.markForCheck();
15069
15811
  }
15070
15812
  };
15071
- GIPISidenavComponent.ctorParameters = () => [
15072
- { type: NavService },
15073
- { type: BreakpointObserverService },
15074
- { type: Router }
15813
+ GIPISlideToggleComponent.ctorParameters = () => [
15814
+ { type: ChangeDetectorRef }
15075
15815
  ];
15076
- __decorate([
15077
- ViewChild('sidenav', { static: false }),
15078
- __metadata("design:type", MatSidenav)
15079
- ], GIPISidenavComponent.prototype, "sidenav", void 0);
15080
- __decorate([
15081
- Input(),
15082
- __metadata("design:type", Array)
15083
- ], GIPISidenavComponent.prototype, "menuItems", void 0);
15084
15816
  __decorate([
15085
15817
  Input(),
15086
15818
  __metadata("design:type", String)
15087
- ], GIPISidenavComponent.prototype, "labelToggle", void 0);
15819
+ ], GIPISlideToggleComponent.prototype, "id", void 0);
15088
15820
  __decorate([
15089
15821
  Input(),
15090
15822
  __metadata("design:type", String)
15091
- ], GIPISidenavComponent.prototype, "iconConfiguration", void 0);
15823
+ ], GIPISlideToggleComponent.prototype, "name", void 0);
15092
15824
  __decorate([
15093
15825
  Input(),
15094
15826
  __metadata("design:type", String)
15095
- ], GIPISidenavComponent.prototype, "svgIconConfiguration", void 0);
15827
+ ], GIPISlideToggleComponent.prototype, "label", void 0);
15096
15828
  __decorate([
15097
15829
  Input(),
15098
15830
  __metadata("design:type", String)
15099
- ], GIPISidenavComponent.prototype, "labelConfiguration", void 0);
15831
+ ], GIPISlideToggleComponent.prototype, "help", void 0);
15100
15832
  __decorate([
15101
15833
  Input(),
15102
- __metadata("design:type", Boolean)
15103
- ], GIPISidenavComponent.prototype, "showConfiguration", void 0);
15834
+ __metadata("design:type", Boolean),
15835
+ __metadata("design:paramtypes", [Boolean])
15836
+ ], GIPISlideToggleComponent.prototype, "required", null);
15104
15837
  __decorate([
15105
- Output(),
15106
- __metadata("design:type", EventEmitter)
15107
- ], GIPISidenavComponent.prototype, "onClickMenuItem", void 0);
15108
- GIPISidenavComponent = GIPISidenavComponent_1 = __decorate([
15838
+ Input(),
15839
+ __metadata("design:type", Boolean),
15840
+ __metadata("design:paramtypes", [Boolean])
15841
+ ], GIPISlideToggleComponent.prototype, "disabled", null);
15842
+ GIPISlideToggleComponent = GIPISlideToggleComponent_1 = __decorate([
15109
15843
  Component({
15110
- selector: `gipi-sidenav`,
15111
- exportAs: 'gipiSidenav',
15112
- template: "<mat-sidenav #sidenav\n [mode]=\"(isScreenLarge | async) ? 'side' : 'over'\"\n class=\"sidenav\"\n [class.large-sidenav]=\"(isOpened | async)\"\n [class.small-sidenav]=\"!(isOpened | async)\"\n [disableClose]=\"(isScreenLarge | async)\"\n opened=\"true\">\n\n <div [ngClass]=\"{'sidenav-content-menu': true,\n 'show-configuration': showConfiguration}\">\n\n <!-- Bot\u00E3o expandir e retrair o menu -->\n <button id=\"buttonToogleSidenav\"\n name=\"toggleSidenav\"\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 *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 *ngFor=\"let menu of (levelMenuCollapsableSelected | async)\"\n class=\"sidenav-action-menu\">\n\n <a *ngIf=\"menu.type === 'ITEM'\"\n [routerLink]=\"menu.route\"\n [class.menu-active]=\"isMenuActive(menu)\"\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 *ngIf=\"menu.type === 'COLLAPSABLE'\"\n [class.menu-active]=\"isMenuCollapsableActive(menu)\"\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\n </div>\n </mat-nav-list>\n </div>\n\n <div *ngIf=\"showConfiguration\"\n class=\"sidenav-action-menu sidenav-configuration-menu\">\n <a (click)=\"onMenuItemSelected(null)\">\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>\n",
15113
- encapsulation: ViewEncapsulation.None,
15844
+ selector: 'gipi-slide-toggle',
15845
+ exportAs: 'gipiSlideToggle',
15846
+ template: "<input class=\"toggle toggle-light\"\n type=\"checkbox\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [(ngModel)]=\"slideToggleValue\" />\n<label class=\"toggle-btn\"\n [attr.for]=\"id\">\n</label>\n<label class=\"toggle-label\"\n *ngIf=\"label\"\n [attr.for]=\"id\">\n {{ label }}\n</label>",
15114
15847
  providers: [
15115
15848
  {
15116
15849
  provide: NG_VALUE_ACCESSOR,
15117
- useExisting: forwardRef(() => GIPISidenavComponent_1),
15118
- multi: true
15119
- }
15850
+ useExisting: forwardRef(() => GIPISlideToggleComponent_1),
15851
+ multi: true,
15852
+ },
15120
15853
  ],
15854
+ changeDetection: ChangeDetectionStrategy.OnPush,
15121
15855
  host: {
15122
- 'class': 'gipi-sidenav',
15856
+ 'class': 'gipi-slide-toggle',
15123
15857
  },
15124
- animations: [
15125
- trigger('indicatorRotate', [
15126
- state('closed', style({ transform: 'rotate(0deg)' })),
15127
- state('opened', style({ transform: 'rotate(180deg)' })),
15128
- transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
15129
- ])
15130
- ],
15131
- 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-configuration-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-configuration{height:calc(100% - 18px - 52px)!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 a{flex:1;padding:16px;background-color:#f5f5f6;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1.4rem;font-weight:600}.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-configuration-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}"]
15858
+ styles: [":host{display:flex;align-items:center;cursor:pointer}.toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:1rem;cursor:pointer}.toggle{display:none}.toggle ::-moz-selection,.toggle :after::-moz-selection,.toggle :before::-moz-selection,.toggle+.toggle-btn::-moz-selection,.toggle::-moz-selection,.toggle:after::-moz-selection,.toggle:before::-moz-selection{background:0 0}.toggle ::selection,.toggle :after::selection,.toggle :before::selection,.toggle+.toggle-btn::selection,.toggle::selection,.toggle:after::selection,.toggle:before::selection{background:0 0}.toggle+.toggle-btn{display:block;width:40px;height:24px;outline:0;background:#e0e1e2;border-radius:22px;padding:4px;transition:.4s;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.toggle+.toggle-btn:after,.toggle+.toggle-btn:before{content:\"\";display:block;width:16px;height:16px;position:relative}.toggle+.toggle-btn:after{left:0;background:#8c8f93;border-radius:50%;transition:.2s}.toggle+.toggle-btn:before{display:none}.toggle:checked+.toggle-btn:after{left:50%;background:#414244}"]
15132
15859
  }),
15133
- __metadata("design:paramtypes", [NavService,
15134
- BreakpointObserverService,
15135
- Router])
15136
- ], GIPISidenavComponent);
15860
+ __metadata("design:paramtypes", [ChangeDetectorRef])
15861
+ ], GIPISlideToggleComponent);
15137
15862
 
15138
15863
  var GIPIStepperComponent_1;
15139
15864
  let GIPIStepperComponent = GIPIStepperComponent_1 = class GIPIStepperComponent extends CdkStepper {
@@ -15834,6 +16559,194 @@ GIPITableComponent = GIPITableComponent_1 = __decorate([
15834
16559
  __metadata("design:paramtypes", [])
15835
16560
  ], GIPITableComponent);
15836
16561
 
16562
+ class TabModel {
16563
+ constructor() {
16564
+ this.active = false;
16565
+ this.closeable = false;
16566
+ this.disabled = false;
16567
+ }
16568
+ }
16569
+
16570
+ let GIPITabComponent = class GIPITabComponent {
16571
+ constructor() {
16572
+ this.active = false;
16573
+ this.closeable = false;
16574
+ this.disabled = false;
16575
+ this.selectionChange = new EventEmitter();
16576
+ }
16577
+ ngOnInit() { }
16578
+ };
16579
+ __decorate([
16580
+ Input(),
16581
+ __metadata("design:type", Number)
16582
+ ], GIPITabComponent.prototype, "index", void 0);
16583
+ __decorate([
16584
+ Input(),
16585
+ __metadata("design:type", String)
16586
+ ], GIPITabComponent.prototype, "label", void 0);
16587
+ __decorate([
16588
+ Input(),
16589
+ __metadata("design:type", Boolean)
16590
+ ], GIPITabComponent.prototype, "active", void 0);
16591
+ __decorate([
16592
+ Input(),
16593
+ __metadata("design:type", TemplateRef)
16594
+ ], GIPITabComponent.prototype, "template", void 0);
16595
+ __decorate([
16596
+ Input(),
16597
+ __metadata("design:type", Boolean)
16598
+ ], GIPITabComponent.prototype, "closeable", void 0);
16599
+ __decorate([
16600
+ Input(),
16601
+ __metadata("design:type", Boolean)
16602
+ ], GIPITabComponent.prototype, "disabled", void 0);
16603
+ __decorate([
16604
+ Input(),
16605
+ __metadata("design:type", Object)
16606
+ ], GIPITabComponent.prototype, "data", void 0);
16607
+ __decorate([
16608
+ Input(),
16609
+ __metadata("design:type", String)
16610
+ ], GIPITabComponent.prototype, "icon", void 0);
16611
+ __decorate([
16612
+ Input(),
16613
+ __metadata("design:type", String)
16614
+ ], GIPITabComponent.prototype, "svgIcon", void 0);
16615
+ __decorate([
16616
+ Output(),
16617
+ __metadata("design:type", EventEmitter)
16618
+ ], GIPITabComponent.prototype, "selectionChange", void 0);
16619
+ GIPITabComponent = __decorate([
16620
+ Component({
16621
+ selector: 'gipi-tab',
16622
+ exportAs: 'gipiTab',
16623
+ template: "<ng-container *ngIf=\"active\">\n <ng-content> </ng-content>\n <ng-container *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{$implicit: data}\">\n </ng-container>\n</ng-container>",
16624
+ host: {
16625
+ 'class': 'gipi-tab',
16626
+ '[style.display]': '!active ? "none" : "block"',
16627
+ },
16628
+ styles: [":host{padding:1.6rem}"]
16629
+ }),
16630
+ __metadata("design:paramtypes", [])
16631
+ ], GIPITabComponent);
16632
+
16633
+ let GIPITabGroupComponent = class GIPITabGroupComponent {
16634
+ constructor(elementRef, _componentFactoryResolver) {
16635
+ this.elementRef = elementRef;
16636
+ this._componentFactoryResolver = _componentFactoryResolver;
16637
+ this.dynamicTabs = [];
16638
+ }
16639
+ ngOnInit() { }
16640
+ ngAfterContentInit() {
16641
+ const activeTabs = this.tabQueryList.filter(tab => tab.active);
16642
+ if (activeTabs.length === 0 && this.tabQueryList.length > 0) {
16643
+ this.selectTab(this.tabQueryList.first);
16644
+ }
16645
+ }
16646
+ openTab(label, template, data, closeable = false, disabled = false, action) {
16647
+ const tab = new TabModel();
16648
+ tab.label = label;
16649
+ tab.template = template;
16650
+ tab.data = data;
16651
+ tab.closeable = closeable;
16652
+ tab.disabled = disabled;
16653
+ tab.action = action;
16654
+ this._openTabs(Array(tab));
16655
+ }
16656
+ _openTabs(tabList) {
16657
+ const tabsComponent = tabList.map(tab => this._getTabComponent(tab.label, tab.template, tab.data, tab.closeable, tab.disabled, tab.action));
16658
+ this.dynamicTabs.push(...tabsComponent);
16659
+ this.selectTab(this.dynamicTabs[0]);
16660
+ }
16661
+ _getTabComponent(label, template, data, closeable = false, disabled = false, action) {
16662
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(GIPITabComponent);
16663
+ const componentRef = this.dynamicTabPlaceholder.viewContainer.createComponent(componentFactory);
16664
+ const instance = componentRef.instance;
16665
+ instance.label = label;
16666
+ instance.template = template;
16667
+ instance.data = data;
16668
+ instance.closeable = closeable;
16669
+ instance.disabled = disabled;
16670
+ instance.action = action;
16671
+ return componentRef.instance;
16672
+ }
16673
+ selectTab(tab) {
16674
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
16675
+ this.dynamicTabs.forEach(t => (t.active = false));
16676
+ tab.active = true;
16677
+ tab.selectionChange.emit();
16678
+ if (tab.action) {
16679
+ tab.action(tab.data);
16680
+ }
16681
+ }
16682
+ closeTab(tab) {
16683
+ const index = this.dynamicTabs.indexOf(tab);
16684
+ this.dynamicTabs.splice(index, 1);
16685
+ const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
16686
+ viewContainerRef.remove(index);
16687
+ if (this.tabQueryList.length > 0) {
16688
+ this.selectTab(this.tabQueryList.first);
16689
+ }
16690
+ }
16691
+ closeActiveTab() {
16692
+ const activeTabs = this.dynamicTabs.filter(tab => tab.active);
16693
+ if (activeTabs.length > 0) {
16694
+ this.closeTab(activeTabs[0]);
16695
+ }
16696
+ }
16697
+ closeAllTabs() {
16698
+ const tabs = Object.assign([], this.dynamicTabs);
16699
+ if (tabs.length > 0) {
16700
+ tabs.forEach(tab => this.closeTab(tab));
16701
+ }
16702
+ }
16703
+ nextTab() {
16704
+ const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
16705
+ const nextTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) + 1];
16706
+ if (nextTab != null) {
16707
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
16708
+ this.dynamicTabs.forEach(t => (t.active = false));
16709
+ nextTab.active = true;
16710
+ nextTab.selectionChange.emit();
16711
+ }
16712
+ }
16713
+ previousTab() {
16714
+ const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
16715
+ const previousTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) - 1];
16716
+ if (previousTab != null) {
16717
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
16718
+ this.dynamicTabs.forEach(t => (t.active = false));
16719
+ previousTab.active = true;
16720
+ previousTab.selectionChange.emit();
16721
+ }
16722
+ }
16723
+ };
16724
+ GIPITabGroupComponent.ctorParameters = () => [
16725
+ { type: ElementRef },
16726
+ { type: ComponentFactoryResolver }
16727
+ ];
16728
+ __decorate([
16729
+ ContentChildren(GIPITabComponent),
16730
+ __metadata("design:type", QueryList)
16731
+ ], GIPITabGroupComponent.prototype, "tabQueryList", void 0);
16732
+ __decorate([
16733
+ ViewChild(GIPIDynamicTabDirective, { static: false }),
16734
+ __metadata("design:type", GIPIDynamicTabDirective)
16735
+ ], GIPITabGroupComponent.prototype, "dynamicTabPlaceholder", void 0);
16736
+ GIPITabGroupComponent = __decorate([
16737
+ Component({
16738
+ selector: 'gipi-tab-group',
16739
+ exportAs: 'gipiTabGroup',
16740
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabQueryList\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content> </ng-content>\n<ng-template dynamicTab\n #container>\n</ng-template>",
16741
+ host: {
16742
+ 'class': 'gipi-tab-group',
16743
+ },
16744
+ styles: [":host{display:block;flex:1;width:100%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-nav-bar{background:#f5f5f6;border:none;border-radius:.4rem;padding:.4rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-links{display:flex;gap:1rem}:host ::ng-deep .mat-tab-link{height:auto!important;padding:1rem!important;opacity:1!important;border:none!important;border-radius:4px!important;transition:.2s!important;color:#595959!important;gap:1rem}:host ::ng-deep .mat-tab-link>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;color:#595959!important}:host ::ng-deep .mat-tab-link>mat-icon svg,:host ::ng-deep .mat-tab-link>mat-icon svg g path,:host ::ng-deep .mat-tab-link>mat-icon svg path{color:#595959!important;fill:#595959!important}:host ::ng-deep .mat-tab-link:not(.active):hover{background:#e0e1e2!important}:host ::ng-deep .mat-tab-link.active{background:#e0313e!important;color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon{color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon svg,:host ::ng-deep .mat-tab-link.active>mat-icon svg g path,:host ::ng-deep .mat-tab-link.active>mat-icon svg path{color:#fff!important;fill:#fff!important}:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-tab-link:disabled svg,:host ::ng-deep .mat-tab-link:disabled svg g path,:host ::ng-deep .mat-tab-link:disabled svg path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg g path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg path{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-ink-bar{display:none!important}"]
16745
+ }),
16746
+ __metadata("design:paramtypes", [ElementRef,
16747
+ ComponentFactoryResolver])
16748
+ ], GIPITabGroupComponent);
16749
+
15837
16750
  var GIPIToolbarComponent_1;
15838
16751
  let GIPIToolbarComponent = GIPIToolbarComponent_1 = class GIPIToolbarComponent {
15839
16752
  constructor() { }
@@ -15916,31 +16829,6 @@ GIPITopNavComponent = GIPITopNavComponent_1 = __decorate([
15916
16829
  __metadata("design:paramtypes", [NavService])
15917
16830
  ], GIPITopNavComponent);
15918
16831
 
15919
- /** @dynamic */
15920
- class NumberUtil {
15921
- static isPositive(value) {
15922
- return !ObjectUtil.isNull(value) && value > 0;
15923
- }
15924
- static isNegative(value) {
15925
- return !ObjectUtil.isNull(value) && value < 0;
15926
- }
15927
- static format(value, digitsInfo, type) {
15928
- if (!ObjectUtil.isNull(value) && (!type || type === 'NUMBER')) {
15929
- return formatNumber(value, 'pt', digitsInfo);
15930
- }
15931
- else if (!ObjectUtil.isNull(value) && type === 'PERCENT') {
15932
- return formatPercent(value / 100, 'pt', digitsInfo);
15933
- }
15934
- return StringUtil.EMPTY;
15935
- }
15936
- static onlyNumbers(value) {
15937
- return String(value).replace(/[^\d]/g, '');
15938
- }
15939
- static isNumber(value) {
15940
- return value !== null && value !== undefined && !isNaN(value) && typeof value === 'number';
15941
- }
15942
- }
15943
-
15944
16832
  const moment = moment_;
15945
16833
  /** @dynamic */
15946
16834
  class DateUtil {
@@ -19735,7 +20623,7 @@ MatDatepickerInput = MatDatepickerInput_1 = __decorate([
19735
20623
  * found in the LICENSE file at https://angular.io/license
19736
20624
  */
19737
20625
  var MatDateRangeInput_1;
19738
- let nextUniqueId$e = 0;
20626
+ let nextUniqueId$i = 0;
19739
20627
  let MatDateRangeInput = MatDateRangeInput_1 = class MatDateRangeInput {
19740
20628
  constructor(_changeDetectorRef, _elementRef, control, _dateAdapter, _formField) {
19741
20629
  this._changeDetectorRef = _changeDetectorRef;
@@ -19743,7 +20631,7 @@ let MatDateRangeInput = MatDateRangeInput_1 = class MatDateRangeInput {
19743
20631
  this._dateAdapter = _dateAdapter;
19744
20632
  this._formField = _formField;
19745
20633
  /** Unique ID for the input. */
19746
- this.id = `mat-date-range-input-${nextUniqueId$e++}`;
20634
+ this.id = `mat-date-range-input-${nextUniqueId$i++}`;
19747
20635
  /** Whether the control is focused. */
19748
20636
  this.focused = false;
19749
20637
  /** Name of the form control. */
@@ -20531,12 +21419,12 @@ class BrowserUtil {
20531
21419
 
20532
21420
  var DateRangePickerComponent_1;
20533
21421
  const moment$1 = moment_;
20534
- let nextUniqueId$f = 0;
21422
+ let nextUniqueId$j = 0;
20535
21423
  let DateRangePickerComponent = DateRangePickerComponent_1 = class DateRangePickerComponent {
20536
21424
  constructor(elementRef, _changeDetectorRef) {
20537
21425
  this.elementRef = elementRef;
20538
21426
  this._changeDetectorRef = _changeDetectorRef;
20539
- this._name = `gipi-date-range-${nextUniqueId$f++}`;
21427
+ this._name = `gipi-date-range-${nextUniqueId$j++}`;
20540
21428
  this.idStartDate = `${this._name}-start`;
20541
21429
  this.idEndDate = `${this._name}-end`;
20542
21430
  this.nameStartDate = `${this._name}-start`;
@@ -21160,12 +22048,12 @@ PresetRangeComponent = PresetRangeComponent_1 = __decorate([
21160
22048
 
21161
22049
  var DatepickerComponent_1;
21162
22050
  const moment$3 = moment_;
21163
- let nextUniqueId$g = 0;
22051
+ let nextUniqueId$k = 0;
21164
22052
  let DatepickerComponent = DatepickerComponent_1 = class DatepickerComponent {
21165
22053
  constructor(elementRef, _changeDetectorRef) {
21166
22054
  this.elementRef = elementRef;
21167
22055
  this._changeDetectorRef = _changeDetectorRef;
21168
- this._name = `gipi-date-range-${nextUniqueId$g++}`;
22056
+ this._name = `gipi-date-range-${nextUniqueId$k++}`;
21169
22057
  this.id = `${this._name}-date`;
21170
22058
  this.name = `${this._name}-date`;
21171
22059
  this.label = '';
@@ -21184,14 +22072,18 @@ let DatepickerComponent = DatepickerComponent_1 = class DatepickerComponent {
21184
22072
  }
21185
22073
  set minDate(value) {
21186
22074
  this._minDate = value;
21187
- this._minDate.setHours(0, 0, 0, 0);
22075
+ if (!ObjectUtil.isNull(value)) {
22076
+ this._minDate.setHours(0, 0, 0, 0);
22077
+ }
21188
22078
  }
21189
22079
  get maxDate() {
21190
22080
  return this._maxDate;
21191
22081
  }
21192
22082
  set maxDate(value) {
21193
22083
  this._maxDate = value;
21194
- this._maxDate.setHours(0, 0, 0, 0);
22084
+ if (!ObjectUtil.isNull(value)) {
22085
+ this._maxDate.setHours(0, 0, 0, 0);
22086
+ }
21195
22087
  }
21196
22088
  get required() {
21197
22089
  return this._required;
@@ -21683,7 +22575,7 @@ class MonthPickerModel {
21683
22575
  this.selectedYearMoment = moment$5();
21684
22576
  this.updateYearText();
21685
22577
  this.selectedMonthMoment = moment$5();
21686
- this.months = moment$5.monthsShort().map(month => `${month}.`);
22578
+ this.months = ['Jan.', 'Fev.', 'Mar.', 'Abr.', 'Mai.', 'Jun.', 'Jul.', 'Ago.', 'Set.', 'Out.', 'Nov.', 'Dez.'];
21687
22579
  this.selectedMonthIndex = this.selectedMonthMoment.month();
21688
22580
  this.selectedMonthYear = this.selectedYearMoment.year();
21689
22581
  }
@@ -21704,7 +22596,7 @@ class MonthPickerModel {
21704
22596
  this.updateYearText();
21705
22597
  }
21706
22598
  }
21707
- let nextUniqueId$h = 0;
22599
+ let nextUniqueId$l = 0;
21708
22600
  let MonthYearPickerComponent = MonthYearPickerComponent_1 = class MonthYearPickerComponent {
21709
22601
  constructor(elementRef, _changeDetectorRef, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dir, _document) {
21710
22602
  this.elementRef = elementRef;
@@ -21714,7 +22606,7 @@ let MonthYearPickerComponent = MonthYearPickerComponent_1 = class MonthYearPicke
21714
22606
  this._viewContainerRef = _viewContainerRef;
21715
22607
  this._dir = _dir;
21716
22608
  this._document = _document;
21717
- this._name = `gipi-date-range-${nextUniqueId$h++}`;
22609
+ this._name = `gipi-date-range-${nextUniqueId$l++}`;
21718
22610
  this._focusedElementBeforeOpen = null;
21719
22611
  this._backdropHarnessClass = `${this._name}-backdrop`;
21720
22612
  this._stateChanges = new Subject();
@@ -22122,320 +23014,336 @@ MonthYearPickerModule = __decorate([
22122
23014
  ],
22123
23015
  entryComponents: [
22124
23016
  CalendarMonthYearComponent,
22125
- ],
22126
- })
22127
- ], MonthYearPickerModule);
22128
-
22129
- var GIPIRangePageComponent_1;
22130
- let nextUniqueId$i = 0;
22131
- class RangePage {
22132
- constructor(start, end) {
22133
- this.start = start;
22134
- this.end = end;
22135
- }
22136
- getTotalCount() {
22137
- return (this.end - this.start) + 1;
22138
- }
22139
- getRange() {
22140
- return Array.from({ length: this.getTotalCount() }, (_, i) => this.start - 1 + i);
22141
- }
22142
- }
22143
- let GIPIRangePageComponent = GIPIRangePageComponent_1 = class GIPIRangePageComponent {
22144
- constructor(elementRef, _changeDetectorRef) {
23017
+ ],
23018
+ })
23019
+ ], MonthYearPickerModule);
23020
+
23021
+ var GIPISplitButtonComponent_1;
23022
+ let nextUniqueId$m = 0;
23023
+ let GIPISplitButtonComponent = GIPISplitButtonComponent_1 = class GIPISplitButtonComponent {
23024
+ constructor(elementRef) {
22145
23025
  this.elementRef = elementRef;
22146
- this._changeDetectorRef = _changeDetectorRef;
22147
- this._name = `gipi-range-page-${nextUniqueId$i++}`;
22148
- this._startPage = 1;
22149
- this._endPage = 1;
23026
+ this._uniqueId = nextUniqueId$m++;
23027
+ this._name = `gipi-split-button-${this._uniqueId}`;
23028
+ this.idBtnDefault = `gipi-split-button-default-${this._uniqueId}`;
23029
+ this.idBtnMenu = `gipi-split-button-menu-${this._uniqueId}`;
23030
+ this.isSplitButtonPrimary = this._hasHostAttributes('gipi-primary');
23031
+ this.isSplitButtonSecondary = this._hasHostAttributes('gipi-secondary');
23032
+ this.isSplitButtonTertiary = this._hasHostAttributes('gipi-tertiary');
23033
+ this.isSplitButtonAction = this._hasHostAttributes('gipi-action');
22150
23034
  this.id = this._name;
22151
23035
  this.name = this._name;
23036
+ this.type = 'button';
23037
+ this.ariaLabel = '';
23038
+ this.title = '';
22152
23039
  this.label = '';
23040
+ this.disabled = false;
23041
+ this.loading = false;
22153
23042
  this.tooltip = '';
22154
- this.placeholderStart = '';
22155
- this.placeholderEnd = '';
22156
- this.help = '';
22157
- this._min = 1;
22158
- this._max = 100;
22159
- this._step = 1;
22160
- this._required = false;
22161
- this._disabled = false;
22162
- this.onChange = (value) => { };
22163
- this.onTouched = () => { };
22164
- }
22165
- get min() {
22166
- return NumberUtil.isNumber(this._min) ? this._min : 1;
22167
- }
22168
- set min(value) {
22169
- this._min = value;
22170
- this._initPage();
22171
- }
22172
- get max() {
22173
- return NumberUtil.isNumber(this._max) ? this._max : 100;
22174
- }
22175
- set max(value) {
22176
- this._max = value;
22177
- this._initPage();
22178
- }
22179
- get step() {
22180
- return NumberUtil.isNumber(this._step) ? this._step : 1;
22181
- }
22182
- set step(value) {
22183
- this._step = value;
22184
- this._initPage();
22185
- }
22186
- get required() {
22187
- return this._required;
22188
- }
22189
- set required(value) {
22190
- this._required = coerceBooleanProperty(value);
22191
- }
22192
- get disabled() {
22193
- return this._disabled;
22194
- }
22195
- set disabled(value) {
22196
- this._disabled = coerceBooleanProperty(value);
22197
- }
22198
- get formattedValue() {
22199
- return '';
22200
- }
22201
- ngOnInit() {
22202
- this._initPage();
23043
+ this.splitOptions = [];
23044
+ this.onOpenPopover = new EventEmitter();
23045
+ this.onClosePopover = new EventEmitter();
23046
+ this.onClick = new EventEmitter(true);
23047
+ this.onFocus = new EventEmitter(true);
23048
+ this.onBlur = new EventEmitter(true);
22203
23049
  }
22204
- ngOnDestroy() { }
22205
- writeValue(value) {
22206
- if (!ObjectUtil.isNull(value)) {
22207
- this._startPage = value.start || this._startPage;
22208
- this._endPage = value.end || this._endPage;
23050
+ ngOnInit() { }
23051
+ ngOnDestroy() {
23052
+ if (this.popoverTrigger) {
23053
+ this.popoverTrigger.destroyPopover();
22209
23054
  }
22210
- this._changeDetectorRef.detectChanges();
22211
23055
  }
22212
- registerOnChange(fn) {
22213
- this.onChange = fn;
23056
+ getHostElement() {
23057
+ return this.elementRef.nativeElement;
22214
23058
  }
22215
- registerOnTouched(fn) {
22216
- this.onTouched = fn;
23059
+ _hasHostAttributes(...attributes) {
23060
+ return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));
22217
23061
  }
22218
- setDisabledState(isDisabled) {
22219
- this.disabled = isDisabled;
22220
- this._changeDetectorRef.markForCheck();
23062
+ btnIdAndName() {
23063
+ const uniqueId = nextUniqueId$m++;
23064
+ return {
23065
+ btnDefault: `gipi-split-button-default-${uniqueId}`,
23066
+ btnMenu: `gipi-split-button-menu-${uniqueId}`,
23067
+ };
22221
23068
  }
22222
- _initPage() {
22223
- this._startPage = this.min;
22224
- this._endPage = Math.min(this._startPage + this.step - 1, this.max);
23069
+ getInternalButtonClass(isBtnDefault) {
23070
+ return {
23071
+ 'button-default': isBtnDefault,
23072
+ 'button-menu': !isBtnDefault,
23073
+ 'button-primary': this.isSplitButtonPrimary,
23074
+ 'button-secondary': this.isSplitButtonSecondary,
23075
+ 'button-tertiary': this.isSplitButtonTertiary,
23076
+ 'button-action': this.isSplitButtonAction,
23077
+ };
22225
23078
  }
22226
- updateEndPage() {
22227
- if (this.disabled) {
23079
+ showPopover() {
23080
+ if (this.disabled || this.loading) {
22228
23081
  return;
22229
23082
  }
22230
- if (this._startPage < this.min) {
22231
- this._startPage = this.min;
22232
- }
22233
- else if (this._startPage > this.max) {
22234
- this._startPage = this.max;
23083
+ else {
23084
+ this.popoverTrigger.openPopover();
22235
23085
  }
22236
- if (this._endPage < this._startPage) {
22237
- this._endPage = this._startPage;
23086
+ }
23087
+ closePopover() {
23088
+ if (this.disabled || this.loading) {
23089
+ return;
22238
23090
  }
22239
- else if (this._endPage > (this._startPage + (this.step - 1))) {
22240
- this._endPage = Math.min(this._startPage + this.step - 1, this.max);
23091
+ else {
23092
+ this.popoverTrigger.closePopover();
22241
23093
  }
22242
- this._propagateChange();
22243
23094
  }
22244
- updateStartPage() {
22245
- if (this.disabled) {
23095
+ handleClick(event) {
23096
+ if (this.disabled || this.loading) {
22246
23097
  return;
22247
23098
  }
22248
- if (this._endPage > this.max) {
22249
- this._endPage = this.max;
22250
- }
22251
- else if (this._endPage > this.max) {
22252
- this._endPage = this.max;
23099
+ else {
23100
+ this.onClick.emit(event);
23101
+ this.closePopover();
23102
+ event.stopPropagation();
22253
23103
  }
22254
- if (this._startPage > this._endPage) {
22255
- this._startPage = this._endPage;
23104
+ }
23105
+ handleFocus(event) {
23106
+ if (this.disabled || this.loading) {
23107
+ return;
22256
23108
  }
22257
- else if (this._startPage < (this._endPage - (this.step + 1))) {
22258
- this._startPage = Math.max(this._endPage - this.step + 1, this.min);
23109
+ else {
23110
+ this.onFocus.emit(event);
23111
+ event.stopPropagation();
22259
23112
  }
22260
- this._propagateChange();
22261
23113
  }
22262
- previous() {
22263
- if (this.disabled) {
23114
+ handleBlur(event) {
23115
+ if (this.disabled || this.loading) {
22264
23116
  return;
22265
23117
  }
22266
- const newStartPage = Math.max(this._startPage - this.step + 1, this.min);
22267
- let newEndPage = Math.min(newStartPage + this.step - 1, this.max);
22268
- if (newEndPage >= this.min) {
22269
- this._startPage = newStartPage;
22270
- this._endPage = newEndPage;
22271
- this._propagateChange();
23118
+ else {
23119
+ this.onBlur.emit(event);
23120
+ event.stopPropagation();
22272
23121
  }
22273
23122
  }
22274
- next() {
22275
- if (this.disabled) {
23123
+ handleClickBtnMenu(event) {
23124
+ if (this.disabled || this.loading) {
22276
23125
  return;
22277
23126
  }
22278
- // const newStartPage = Math.min(this._startPage + this.step, this.max - this.step + 1);
22279
- // let newEndPage = newStartPage + this.step - 1;
22280
- const newStartPage = Math.min(this._startPage + this.step, this.max);
22281
- let newEndPage = Math.min(newStartPage + this.step - 1, this.max);
22282
- if ((newStartPage === this.max) || (newEndPage > this.max)) {
22283
- newEndPage = newStartPage;
22284
- }
22285
- if (newEndPage <= this.max) {
22286
- this._startPage = newStartPage;
22287
- this._endPage = newEndPage;
22288
- this._propagateChange();
23127
+ else {
23128
+ if (!ObjectUtil.isNull(this.popoverTrigger)) {
23129
+ this.popoverTrigger.togglePopover();
23130
+ }
23131
+ event.stopPropagation();
22289
23132
  }
22290
23133
  }
22291
- selectText(input) {
22292
- if (this.disabled || !input) {
23134
+ handleClickBtnSplitOption(option) {
23135
+ if (this.disabled || this.loading || !option || option.disabled || !option.clickFn) {
22293
23136
  return;
22294
23137
  }
22295
- setTimeout(() => input.select(), 0);
23138
+ else {
23139
+ option.clickFn();
23140
+ this.closePopover();
23141
+ }
22296
23142
  }
22297
- _propagateChange() {
22298
- this.onChange(new RangePage(this._startPage, this._endPage));
22299
- this.onTouched();
23143
+ onResize(event) {
23144
+ if (this.popoverTrigger) {
23145
+ this.popoverTrigger.closePopover();
23146
+ event.stopPropagation();
23147
+ }
22300
23148
  }
22301
23149
  };
22302
- GIPIRangePageComponent.ctorParameters = () => [
22303
- { type: ElementRef },
22304
- { type: ChangeDetectorRef }
23150
+ GIPISplitButtonComponent.ctorParameters = () => [
23151
+ { type: ElementRef }
22305
23152
  ];
23153
+ __decorate([
23154
+ ViewChild(GIPIPopoverTrigger, { static: false }),
23155
+ __metadata("design:type", GIPIPopoverTrigger)
23156
+ ], GIPISplitButtonComponent.prototype, "popoverTrigger", void 0);
22306
23157
  __decorate([
22307
23158
  Input(),
22308
23159
  __metadata("design:type", String)
22309
- ], GIPIRangePageComponent.prototype, "id", void 0);
23160
+ ], GIPISplitButtonComponent.prototype, "id", void 0);
22310
23161
  __decorate([
22311
23162
  Input(),
22312
23163
  __metadata("design:type", String)
22313
- ], GIPIRangePageComponent.prototype, "name", void 0);
23164
+ ], GIPISplitButtonComponent.prototype, "name", void 0);
22314
23165
  __decorate([
22315
23166
  Input(),
22316
23167
  __metadata("design:type", String)
22317
- ], GIPIRangePageComponent.prototype, "label", void 0);
23168
+ ], GIPISplitButtonComponent.prototype, "type", void 0);
22318
23169
  __decorate([
22319
23170
  Input(),
22320
23171
  __metadata("design:type", String)
22321
- ], GIPIRangePageComponent.prototype, "tooltip", void 0);
23172
+ ], GIPISplitButtonComponent.prototype, "ariaLabel", void 0);
22322
23173
  __decorate([
22323
23174
  Input(),
22324
23175
  __metadata("design:type", String)
22325
- ], GIPIRangePageComponent.prototype, "placeholderStart", void 0);
23176
+ ], GIPISplitButtonComponent.prototype, "title", void 0);
22326
23177
  __decorate([
22327
23178
  Input(),
22328
23179
  __metadata("design:type", String)
22329
- ], GIPIRangePageComponent.prototype, "placeholderEnd", void 0);
23180
+ ], GIPISplitButtonComponent.prototype, "label", void 0);
22330
23181
  __decorate([
22331
23182
  Input(),
22332
23183
  __metadata("design:type", String)
22333
- ], GIPIRangePageComponent.prototype, "help", void 0);
23184
+ ], GIPISplitButtonComponent.prototype, "buttonClass", void 0);
22334
23185
  __decorate([
22335
23186
  Input(),
22336
- __metadata("design:type", Number),
22337
- __metadata("design:paramtypes", [Number])
22338
- ], GIPIRangePageComponent.prototype, "min", null);
23187
+ __metadata("design:type", Boolean)
23188
+ ], GIPISplitButtonComponent.prototype, "disabled", void 0);
22339
23189
  __decorate([
22340
23190
  Input(),
22341
- __metadata("design:type", Number),
22342
- __metadata("design:paramtypes", [Number])
22343
- ], GIPIRangePageComponent.prototype, "max", null);
23191
+ __metadata("design:type", Boolean)
23192
+ ], GIPISplitButtonComponent.prototype, "loading", void 0);
22344
23193
  __decorate([
22345
23194
  Input(),
22346
- __metadata("design:type", Number),
22347
- __metadata("design:paramtypes", [Number])
22348
- ], GIPIRangePageComponent.prototype, "step", null);
23195
+ __metadata("design:type", String)
23196
+ ], GIPISplitButtonComponent.prototype, "tooltip", void 0);
22349
23197
  __decorate([
22350
- Input(),
22351
- __metadata("design:type", Boolean),
22352
- __metadata("design:paramtypes", [Boolean])
22353
- ], GIPIRangePageComponent.prototype, "required", null);
23198
+ Input('options'),
23199
+ __metadata("design:type", Array)
23200
+ ], GIPISplitButtonComponent.prototype, "splitOptions", void 0);
22354
23201
  __decorate([
22355
- Input(),
22356
- __metadata("design:type", Boolean),
22357
- __metadata("design:paramtypes", [Boolean])
22358
- ], GIPIRangePageComponent.prototype, "disabled", null);
22359
- GIPIRangePageComponent = GIPIRangePageComponent_1 = __decorate([
23202
+ Output(),
23203
+ __metadata("design:type", EventEmitter)
23204
+ ], GIPISplitButtonComponent.prototype, "onOpenPopover", void 0);
23205
+ __decorate([
23206
+ Output(),
23207
+ __metadata("design:type", EventEmitter)
23208
+ ], GIPISplitButtonComponent.prototype, "onClosePopover", void 0);
23209
+ __decorate([
23210
+ Output('click'),
23211
+ __metadata("design:type", EventEmitter)
23212
+ ], GIPISplitButtonComponent.prototype, "onClick", void 0);
23213
+ __decorate([
23214
+ Output('focus'),
23215
+ __metadata("design:type", EventEmitter)
23216
+ ], GIPISplitButtonComponent.prototype, "onFocus", void 0);
23217
+ __decorate([
23218
+ Output('blur'),
23219
+ __metadata("design:type", EventEmitter)
23220
+ ], GIPISplitButtonComponent.prototype, "onBlur", void 0);
23221
+ __decorate([
23222
+ HostListener('window:resize', ['$event']),
23223
+ __metadata("design:type", Function),
23224
+ __metadata("design:paramtypes", [UIEvent]),
23225
+ __metadata("design:returntype", void 0)
23226
+ ], GIPISplitButtonComponent.prototype, "onResize", null);
23227
+ GIPISplitButtonComponent = GIPISplitButtonComponent_1 = __decorate([
22360
23228
  Component({
22361
- selector: 'gipi-range-page',
22362
- template: "<label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n</label>\n\n<div class=\"input-content\">\n <div class=\"prefix\"\n [class.disabled]=\"disabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </div>\n <input #startInput\n matInput\n class=\"input-element\"\n type=\"number\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"10\"\n [placeholder]=\"placeholderStart\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"false\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [(ngModel)]=\"_startPage\"\n (keyup)=\"updateEndPage()\"\n (focus)=\"selectText(startInput)\"\n (click)=\"selectText(startInput)\" />\n <div class=\"infix\">\n a\n </div>\n <input #endInput\n matInput\n class=\"input-element\"\n type=\"number\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [min]=\"_startPage\"\n [max]=\"max\"\n [maxlength]=\"10\"\n [placeholder]=\"placeholderEnd\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"false\"\n [autocomplete]=\"'off'\"\n [autofocus]=\"false\"\n [(ngModel)]=\"_endPage\"\n (keyup)=\"updateStartPage()\"\n (focus)=\"selectText(endInput)\"\n (click)=\"selectText(endInput)\" />\n <div class=\"suffix\"\n [class.disabled]=\"disabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </div>\n</div>\n\n<small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n</small>",
23229
+ selector: `gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],
23230
+ gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]`,
23231
+ exportAs: 'gipiSplitButton',
23232
+ 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>",
22363
23233
  providers: [
22364
23234
  {
22365
23235
  provide: NG_VALUE_ACCESSOR,
22366
- useExisting: forwardRef(() => GIPIRangePageComponent_1),
23236
+ useExisting: forwardRef(() => GIPISplitButtonComponent_1),
22367
23237
  multi: true
22368
- },
23238
+ }
22369
23239
  ],
22370
- styles: [":host{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .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}:host .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0;text-align:center;margin:0!important}:host .input-content .input-element::-webkit-inner-spin-button,:host .input-content .input-element::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;opacity:0}:host .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}:host .input-content .input-element:disabled{cursor:not-allowed}:host .input-content .infix,:host .input-content .prefix,:host .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;padding-inline:.8rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:.2s;background-color:#e0313e}:host .input-content .infix>mat-icon,:host .input-content .prefix>mat-icon,:host .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#fff}:host .input-content .infix:not(.infix):not(.disabled):hover,:host .input-content .prefix:not(.infix):not(.disabled):hover,:host .input-content .suffix:not(.infix):not(.disabled):hover{background-color:#cc2d38}:host .input-content .infix:not(.infix):not(.disabled):active,:host .input-content .prefix:not(.infix):not(.disabled):active,:host .input-content .suffix:not(.infix):not(.disabled):active{background-color:#9f232c}:host .input-content .prefix.disabled,:host .input-content .suffix.disabled{background-color:#d1d2d4}:host .input-content .prefix.disabled>mat-icon,:host .input-content .suffix.disabled>mat-icon{color:#9a9da2}:host .input-content .prefix{border-right:1px solid rgba(0,0,0,.12);border-radius:.6rem 0 0 .6rem;cursor:pointer}:host .input-content .infix{width:1rem;padding:0;background-color:transparent}:host .input-content .suffix{border-left:1px solid rgba(0,0,0,.12);border-radius:0 .6rem .6rem 0;cursor:pointer}:host .input-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}"]
22371
- }),
22372
- __metadata("design:paramtypes", [ElementRef,
22373
- ChangeDetectorRef])
22374
- ], GIPIRangePageComponent);
23240
+ host: {
23241
+ 'class': 'gipi-split-button',
23242
+ '[attr.id]': 'id',
23243
+ '[attr.name]': 'name',
23244
+ },
23245
+ animations: [
23246
+ trigger('indicatorRotate', [
23247
+ state('closed', style({ transform: 'rotate(0deg)' })),
23248
+ state('opened', style({ transform: 'rotate(-180deg)' })),
23249
+ transition('opened <=> closed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
23250
+ ])
23251
+ ],
23252
+ 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}"]
23253
+ }),
23254
+ __metadata("design:paramtypes", [ElementRef])
23255
+ ], GIPISplitButtonComponent);
22375
23256
 
22376
- var GIPIRangeSliderComponent_1;
22377
- let nextUniqueId$j = 0;
22378
- let GIPIRangeSliderComponent = GIPIRangeSliderComponent_1 = class GIPIRangeSliderComponent {
23257
+ var GIPITextareaComponent_1;
23258
+ let nextUniqueId$n = 0;
23259
+ let GIPITextareaComponent = GIPITextareaComponent_1 = class GIPITextareaComponent {
22379
23260
  constructor(elementRef, _changeDetectorRef) {
22380
23261
  this.elementRef = elementRef;
22381
23262
  this._changeDetectorRef = _changeDetectorRef;
22382
- this._name = `gipi-range-slider-${nextUniqueId$j++}`;
23263
+ this._name = `gipi-textarea-${nextUniqueId$n++}`;
22383
23264
  this.id = this._name;
22384
23265
  this.name = this._name;
22385
23266
  this.label = '';
23267
+ this.placeholder = '';
23268
+ this.cols = 20;
23269
+ this.rows = 4;
22386
23270
  this.help = '';
22387
- this.min = 1;
22388
- this.max = 100;
22389
- this._maxRange = 5;
22390
- this._fromValue = 1;
22391
- this._toValue = 1;
22392
- this._step = 1;
22393
- this._disabled = false;
23271
+ this.maxlength = 254;
23272
+ this.minlength = 0;
23273
+ this._resize = 'horizontal';
23274
+ this._minHeight = '60px';
23275
+ this._height = '60px';
23276
+ this._maxHeight = 'auto';
23277
+ this._autocomplete = 'off';
23278
+ this._autofocus = false;
23279
+ this._readOnly = false;
22394
23280
  this._required = false;
23281
+ this._disabled = false;
23282
+ this._lowerCase = false;
23283
+ this._upperCase = false;
23284
+ this._spaceDrop = false;
22395
23285
  this.onChange = () => { };
22396
23286
  this.onTouched = () => { };
22397
23287
  }
22398
- get maxRange() {
22399
- return this._maxRange || 5;
23288
+ get resize() {
23289
+ return this._resize;
22400
23290
  }
22401
- set maxRange(value) {
22402
- if (!value || (value <= 0)) {
22403
- throw new Error('Minimum value for "maxRange" must be 1');
23291
+ set resize(value) {
23292
+ if (value !== this.resize) {
23293
+ this._resize = value.toLowerCase();
23294
+ this._changeDetectorRef.detectChanges();
22404
23295
  }
22405
- this._maxRange = value || 5;
22406
23296
  }
22407
- get fromValue() {
22408
- return this._fromValue || 1;
23297
+ get minHeight() {
23298
+ return this._minHeight;
22409
23299
  }
22410
- set fromValue(value) {
22411
- if (!value || (value <= 0)) {
22412
- throw new Error('Minimum value for "from" must be 1');
23300
+ set minHeight(value) {
23301
+ if (value.trim().toUpperCase() === 'AUTO') {
23302
+ this._minHeight = 'auto';
23303
+ }
23304
+ else {
23305
+ this._minHeight = coerceCssPixelValue(value);
22413
23306
  }
22414
- this._fromValue = value || 1;
22415
23307
  }
22416
- get toValue() {
22417
- return this._toValue || 1;
23308
+ get height() {
23309
+ return this._height;
22418
23310
  }
22419
- set toValue(value) {
22420
- if (!value || (value <= 0)) {
22421
- throw new Error('Minimum value for "to" must be 1');
23311
+ set height(value) {
23312
+ if (value.trim().toUpperCase() === 'AUTO') {
23313
+ this._height = 'auto';
23314
+ }
23315
+ else {
23316
+ this._height = coerceCssPixelValue(value);
22422
23317
  }
22423
- this._toValue = value || 1;
22424
23318
  }
22425
- get step() {
22426
- return this._step || 1;
23319
+ get maxHeight() {
23320
+ return this._maxHeight;
22427
23321
  }
22428
- set step(value) {
22429
- if (!value || (value <= 0)) {
22430
- throw new Error('Minimum value for "step" must be 1');
23322
+ set maxHeight(value) {
23323
+ if (value.trim().toUpperCase() === 'AUTO') {
23324
+ this._maxHeight = 'auto';
23325
+ }
23326
+ else {
23327
+ this._maxHeight = coerceCssPixelValue(value);
22431
23328
  }
22432
- this._step = value || 1;
22433
23329
  }
22434
- get disabled() {
22435
- return this._disabled;
23330
+ get autocomplete() {
23331
+ return this._autocomplete;
22436
23332
  }
22437
- set disabled(value) {
22438
- this._disabled = coerceBooleanProperty(value);
23333
+ set autocomplete(value) {
23334
+ this._autocomplete = value;
23335
+ }
23336
+ get autofocus() {
23337
+ return this._autofocus;
23338
+ }
23339
+ set autofocus(value) {
23340
+ this._autofocus = coerceBooleanProperty(value);
23341
+ }
23342
+ get readOnly() {
23343
+ return this._readOnly;
23344
+ }
23345
+ set readOnly(value) {
23346
+ this._readOnly = coerceBooleanProperty(value);
22439
23347
  }
22440
23348
  get required() {
22441
23349
  return this._required;
@@ -22443,275 +23351,201 @@ let GIPIRangeSliderComponent = GIPIRangeSliderComponent_1 = class GIPIRangeSlide
22443
23351
  set required(value) {
22444
23352
  this._required = coerceBooleanProperty(value);
22445
23353
  }
22446
- ngOnInit() { }
22447
- ngAfterViewInit() {
22448
- this._fillSlider();
22449
- this._setToggleAccessible();
23354
+ get disabled() {
23355
+ return this._disabled;
22450
23356
  }
22451
- ngOnDestroy() { }
22452
- writeValue(value) {
22453
- if (value) {
22454
- this.fromValue = value.from;
22455
- this.toValue = value.to;
22456
- if (this.fromSlider && this.toSlider) {
22457
- this.fromSlider.nativeElement.value = this.fromValue.toString();
22458
- this.toSlider.nativeElement.value = this.toValue.toString();
22459
- this._fillSlider();
22460
- this._setToggleAccessible();
22461
- }
22462
- }
23357
+ set disabled(value) {
23358
+ this._disabled = coerceBooleanProperty(value);
22463
23359
  }
22464
- registerOnChange(fn) {
22465
- this.onChange = fn;
23360
+ get lowerCase() {
23361
+ return this._lowerCase;
22466
23362
  }
22467
- registerOnTouched(fn) {
22468
- this.onTouched = fn;
23363
+ set lowerCase(value) {
23364
+ this._lowerCase = coerceBooleanProperty(value);
22469
23365
  }
22470
- setDisabledState(isDisabled) {
22471
- this.disabled = isDisabled;
22472
- this._changeDetectorRef.markForCheck();
23366
+ get upperCase() {
23367
+ return this._upperCase;
22473
23368
  }
22474
- controlFromInput(isByNgModel) {
22475
- let [from, to] = isByNgModel ? [this.fromValue, this.toValue] : this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22476
- from = this._roundToStep(from);
22477
- to = this._roundToStep(to);
22478
- // if ((to - from) > this.maxRange) {
22479
- // from = to - this.maxRange;
22480
- // }
22481
- this._fillSlider();
22482
- this._setToggleAccessible();
22483
- if (from > to) {
22484
- this.fromValue = to;
22485
- }
22486
- this.fromSlider.nativeElement.value = this.fromValue.toString();
22487
- this._notifyValueChange();
23369
+ set upperCase(value) {
23370
+ this._upperCase = coerceBooleanProperty(value);
22488
23371
  }
22489
- controlToInput(isByNgModel) {
22490
- let [from, to] = isByNgModel ? [this.fromValue, this.toValue] : this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22491
- from = this._roundToStep(from);
22492
- to = this._roundToStep(to);
22493
- // if ((to - from) > this.maxRange) {
22494
- // to = from + this.maxRange;
22495
- // }
22496
- this._fillSlider();
22497
- this._setToggleAccessible();
22498
- if (from <= to) {
22499
- this.toValue = to;
22500
- }
22501
- else {
22502
- this.toValue = from;
22503
- }
22504
- this.toSlider.nativeElement.value = this.toValue.toString();
22505
- this._notifyValueChange();
23372
+ get spaceDrop() {
23373
+ return this._spaceDrop;
22506
23374
  }
22507
- controlFromSlider() {
22508
- let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22509
- from = this._roundToStep(from);
22510
- to = this._roundToStep(to);
22511
- if ((to - from) > this.maxRange) {
22512
- from = to - this.maxRange;
22513
- }
22514
- this._fillSlider();
22515
- this._setToggleAccessible();
22516
- if ((to - from) === this.maxRange) {
22517
- let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22518
- from = this._roundToStep(from);
22519
- to = this._roundToStep(to);
22520
- if ((to - from) > this.maxRange) {
22521
- to = from + this.maxRange;
22522
- }
22523
- this._fillSlider();
22524
- if (from <= to) {
22525
- this.toValue = to;
22526
- }
22527
- else {
22528
- this.toValue = from;
22529
- }
22530
- this.toSlider.nativeElement.value = this.toValue.toString();
22531
- }
22532
- if (from >= to) {
22533
- this.fromValue = to;
22534
- }
22535
- else {
22536
- this.fromValue = from;
22537
- }
22538
- this.fromSlider.nativeElement.value = this.fromValue.toString();
22539
- this._notifyValueChange();
23375
+ set spaceDrop(value) {
23376
+ this._spaceDrop = coerceBooleanProperty(value);
22540
23377
  }
22541
- controlToSlider() {
22542
- let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22543
- from = this._roundToStep(from);
22544
- to = this._roundToStep(to);
22545
- if ((to - from) > this.maxRange) {
22546
- to = from + this.maxRange;
22547
- }
22548
- this._fillSlider();
22549
- this._setToggleAccessible();
22550
- if ((to - from) === this.maxRange) {
22551
- let [from, to] = this._getParsed(this.fromSlider.nativeElement, this.toSlider.nativeElement);
22552
- from = this._roundToStep(from);
22553
- to = this._roundToStep(to);
22554
- if ((to - from) > this.maxRange) {
22555
- from = to - this.maxRange;
22556
- }
22557
- this._fillSlider();
22558
- if (from >= to) {
22559
- this.fromValue = to;
22560
- }
22561
- else {
22562
- this.fromValue = from;
22563
- }
22564
- this.fromSlider.nativeElement.value = this.fromValue.toString();
22565
- }
22566
- if (from <= to) {
22567
- this.toValue = to;
22568
- }
22569
- else {
22570
- this.toValue = from;
22571
- }
22572
- this.toSlider.nativeElement.value = this.toValue.toString();
22573
- this._notifyValueChange();
23378
+ get value() {
23379
+ return this._value;
22574
23380
  }
22575
- _getParsed(currentFrom, currentTo) {
22576
- const from = parseInt(currentFrom.value, 10);
22577
- const to = parseInt(currentTo.value, 10);
22578
- return [from, to];
23381
+ set value(value) {
23382
+ let valueAux = value;
23383
+ valueAux = this._checkSpaceDrop(valueAux);
23384
+ valueAux = this._checkLowercase(valueAux);
23385
+ valueAux = this._checkUppercase(valueAux);
23386
+ this._value = valueAux;
23387
+ this.onChange(this._value);
23388
+ this.onTouched(this._value);
22579
23389
  }
22580
- _fillSlider() {
22581
- const fromSliderEl = this.fromSlider.nativeElement;
22582
- const toSliderEl = this.toSlider.nativeElement;
22583
- const rangeDistance = Number(toSliderEl.max) - Number(toSliderEl.min);
22584
- const fromPosition = (this.fromValue - Number(fromSliderEl.min));
22585
- const toPosition = (this.toValue - Number(toSliderEl.min));
22586
- const sliderColor = '#e0e1e2';
22587
- const rangeColor = '#f1a0a6';
22588
- toSliderEl.style.background = `linear-gradient(
22589
- to right,
22590
- ${sliderColor} 0%,
22591
- ${sliderColor} ${(fromPosition) / (rangeDistance) * 100}%,
22592
- ${rangeColor} ${((fromPosition) / (rangeDistance)) * 100}%,
22593
- ${rangeColor} ${(toPosition) / (rangeDistance) * 100}%,
22594
- ${sliderColor} ${(toPosition) / (rangeDistance) * 100}%,
22595
- ${sliderColor} 100%)`;
23390
+ ngOnInit() { }
23391
+ writeValue(value) {
23392
+ this._value = value;
22596
23393
  }
22597
- _setToggleAccessible() {
22598
- const fromInput = this.fromSlider.nativeElement;
22599
- const toInput = this.toSlider.nativeElement;
22600
- const fromValue = parseInt(fromInput.value, 10);
22601
- const toValue = parseInt(toInput.value, 10);
22602
- if (fromValue <= parseInt(fromInput.min, 10) && toValue <= parseInt(toInput.min, 10)) {
22603
- // Ambos estão no mínimo
22604
- fromInput.style.zIndex = '1';
22605
- toInput.style.zIndex = '2';
22606
- }
22607
- else if (fromValue >= parseInt(fromInput.max, 10) && toValue >= parseInt(toInput.max, 10)) {
22608
- // Ambos estão no máximo
22609
- fromInput.style.zIndex = '2';
22610
- toInput.style.zIndex = '1';
22611
- }
22612
- else {
22613
- // Caso geral
22614
- fromInput.style.zIndex = '2';
22615
- toInput.style.zIndex = '1';
22616
- }
23394
+ registerOnChange(fn) {
23395
+ this.onChange = fn;
23396
+ }
23397
+ registerOnTouched(fn) {
23398
+ this.onTouched = fn;
23399
+ }
23400
+ setDisabledState(isDisabled) {
23401
+ this.disabled = isDisabled;
23402
+ this._changeDetectorRef.markForCheck();
22617
23403
  }
22618
- _roundToStep(value) {
22619
- return Math.round(value / this.step) * this.step;
23404
+ _checkSpaceDrop(value) {
23405
+ if (this.spaceDrop && value) {
23406
+ return value.replace(/\s/g, '');
23407
+ }
23408
+ return value;
22620
23409
  }
22621
- _notifyValueChange() {
22622
- this.onChange({ from: this.fromValue, to: this.toValue });
23410
+ _checkUppercase(value) {
23411
+ if (this.upperCase && value) {
23412
+ return value.toUpperCase();
23413
+ }
23414
+ return value;
22623
23415
  }
22624
- onBlur() {
22625
- this.onTouched();
23416
+ _checkLowercase(value) {
23417
+ if (this.lowerCase && value) {
23418
+ return value.toLowerCase();
23419
+ }
23420
+ return value;
22626
23421
  }
22627
23422
  };
22628
- GIPIRangeSliderComponent.ctorParameters = () => [
23423
+ GIPITextareaComponent.ctorParameters = () => [
22629
23424
  { type: ElementRef },
22630
23425
  { type: ChangeDetectorRef }
22631
23426
  ];
22632
23427
  __decorate([
22633
- ViewChild('fromSlider', { static: false }),
22634
- __metadata("design:type", ElementRef)
22635
- ], GIPIRangeSliderComponent.prototype, "fromSlider", void 0);
22636
- __decorate([
22637
- ViewChild('toSlider', { static: false }),
22638
- __metadata("design:type", ElementRef)
22639
- ], GIPIRangeSliderComponent.prototype, "toSlider", void 0);
23428
+ Input(),
23429
+ __metadata("design:type", String)
23430
+ ], GIPITextareaComponent.prototype, "id", void 0);
22640
23431
  __decorate([
22641
23432
  Input(),
22642
23433
  __metadata("design:type", String)
22643
- ], GIPIRangeSliderComponent.prototype, "id", void 0);
23434
+ ], GIPITextareaComponent.prototype, "name", void 0);
22644
23435
  __decorate([
22645
23436
  Input(),
22646
23437
  __metadata("design:type", String)
22647
- ], GIPIRangeSliderComponent.prototype, "name", void 0);
23438
+ ], GIPITextareaComponent.prototype, "label", void 0);
22648
23439
  __decorate([
22649
23440
  Input(),
22650
23441
  __metadata("design:type", String)
22651
- ], GIPIRangeSliderComponent.prototype, "label", void 0);
23442
+ ], GIPITextareaComponent.prototype, "placeholder", void 0);
23443
+ __decorate([
23444
+ Input(),
23445
+ __metadata("design:type", Number)
23446
+ ], GIPITextareaComponent.prototype, "cols", void 0);
23447
+ __decorate([
23448
+ Input(),
23449
+ __metadata("design:type", Number)
23450
+ ], GIPITextareaComponent.prototype, "rows", void 0);
22652
23451
  __decorate([
22653
23452
  Input(),
22654
23453
  __metadata("design:type", String)
22655
- ], GIPIRangeSliderComponent.prototype, "help", void 0);
23454
+ ], GIPITextareaComponent.prototype, "help", void 0);
22656
23455
  __decorate([
22657
23456
  Input(),
22658
23457
  __metadata("design:type", Number)
22659
- ], GIPIRangeSliderComponent.prototype, "min", void 0);
23458
+ ], GIPITextareaComponent.prototype, "maxlength", void 0);
22660
23459
  __decorate([
22661
23460
  Input(),
22662
23461
  __metadata("design:type", Number)
22663
- ], GIPIRangeSliderComponent.prototype, "max", void 0);
23462
+ ], GIPITextareaComponent.prototype, "minlength", void 0);
22664
23463
  __decorate([
22665
23464
  Input(),
22666
- __metadata("design:type", Number),
22667
- __metadata("design:paramtypes", [Number])
22668
- ], GIPIRangeSliderComponent.prototype, "maxRange", null);
23465
+ __metadata("design:type", String),
23466
+ __metadata("design:paramtypes", [String])
23467
+ ], GIPITextareaComponent.prototype, "resize", null);
22669
23468
  __decorate([
22670
- Input('from'),
22671
- __metadata("design:type", Number),
22672
- __metadata("design:paramtypes", [Number])
22673
- ], GIPIRangeSliderComponent.prototype, "fromValue", null);
23469
+ Input(),
23470
+ __metadata("design:type", String),
23471
+ __metadata("design:paramtypes", [String])
23472
+ ], GIPITextareaComponent.prototype, "minHeight", null);
22674
23473
  __decorate([
22675
- Input('to'),
22676
- __metadata("design:type", Number),
22677
- __metadata("design:paramtypes", [Number])
22678
- ], GIPIRangeSliderComponent.prototype, "toValue", null);
23474
+ Input(),
23475
+ __metadata("design:type", String),
23476
+ __metadata("design:paramtypes", [String])
23477
+ ], GIPITextareaComponent.prototype, "height", null);
22679
23478
  __decorate([
22680
23479
  Input(),
22681
- __metadata("design:type", Number),
22682
- __metadata("design:paramtypes", [Number])
22683
- ], GIPIRangeSliderComponent.prototype, "step", null);
23480
+ __metadata("design:type", String),
23481
+ __metadata("design:paramtypes", [String])
23482
+ ], GIPITextareaComponent.prototype, "maxHeight", null);
23483
+ __decorate([
23484
+ Input(),
23485
+ __metadata("design:type", String),
23486
+ __metadata("design:paramtypes", [String])
23487
+ ], GIPITextareaComponent.prototype, "autocomplete", null);
22684
23488
  __decorate([
22685
23489
  Input(),
22686
23490
  __metadata("design:type", Boolean),
22687
23491
  __metadata("design:paramtypes", [Boolean])
22688
- ], GIPIRangeSliderComponent.prototype, "disabled", null);
23492
+ ], GIPITextareaComponent.prototype, "autofocus", null);
22689
23493
  __decorate([
22690
23494
  Input(),
22691
23495
  __metadata("design:type", Boolean),
22692
23496
  __metadata("design:paramtypes", [Boolean])
22693
- ], GIPIRangeSliderComponent.prototype, "required", null);
22694
- GIPIRangeSliderComponent = GIPIRangeSliderComponent_1 = __decorate([
23497
+ ], GIPITextareaComponent.prototype, "readOnly", null);
23498
+ __decorate([
23499
+ Input(),
23500
+ __metadata("design:type", Boolean),
23501
+ __metadata("design:paramtypes", [Boolean])
23502
+ ], GIPITextareaComponent.prototype, "required", null);
23503
+ __decorate([
23504
+ Input(),
23505
+ __metadata("design:type", Boolean),
23506
+ __metadata("design:paramtypes", [Boolean])
23507
+ ], GIPITextareaComponent.prototype, "disabled", null);
23508
+ __decorate([
23509
+ Input(),
23510
+ __metadata("design:type", Boolean),
23511
+ __metadata("design:paramtypes", [Boolean])
23512
+ ], GIPITextareaComponent.prototype, "lowerCase", null);
23513
+ __decorate([
23514
+ Input(),
23515
+ __metadata("design:type", Boolean),
23516
+ __metadata("design:paramtypes", [Boolean])
23517
+ ], GIPITextareaComponent.prototype, "upperCase", null);
23518
+ __decorate([
23519
+ Input(),
23520
+ __metadata("design:type", Boolean),
23521
+ __metadata("design:paramtypes", [Boolean])
23522
+ ], GIPITextareaComponent.prototype, "spaceDrop", null);
23523
+ __decorate([
23524
+ Input(),
23525
+ __metadata("design:type", Object),
23526
+ __metadata("design:paramtypes", [Object])
23527
+ ], GIPITextareaComponent.prototype, "value", null);
23528
+ GIPITextareaComponent = GIPITextareaComponent_1 = __decorate([
22695
23529
  Component({
22696
- selector: 'gipi-range-slider',
22697
- exportAs: 'gipiRangeSlider',
22698
- template: "<label *ngIf=\"label\"\n class=\"input-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n</label>\n\n<div class=\"slider-wrapper\">\n <!-- <input type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [(ngModel)]=\"fromValue\"\n (ngModelChange)=\"controlFromInput(true)\"\n (input)=\"controlFromInput(false)\"\n (blur)=\"onBlur()\" /> -->\n <span class=\"value min\">\n {{ min }}\n </span>\n <div class=\"sliders-control\">\n <input #fromSlider\n id=\"fromSlider\"\n type=\"range\"\n class=\"from-value\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"fromValue\"\n (input)=\"controlFromSlider()\"\n (mouseup)=\"controlFromSlider()\"\n (blur)=\"onBlur()\" />\n <input #toSlider\n id=\"toSlider\"\n type=\"range\"\n class=\"to-value\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"toValue\"\n (input)=\"controlToSlider()\"\n (mouseup)=\"controlToSlider()\"\n (blur)=\"onBlur()\" />\n </div>\n <span class=\"value max\">\n {{ max }}\n </span>\n <!-- <input type=\"number\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [(ngModel)]=\"toValue\"\n (ngModelChange)=\"controlToInput(true)\"\n (input)=\"controlToInput(false)\"\n (blur)=\"onBlur()\" /> -->\n</div>\n<span class=\"value min\">\n {{ fromValue }} - {{ toValue }}\n</span>\n<small *ngIf=\"help\"\n class=\"input-help\">\n {{ help }}\n</small>",
23530
+ selector: 'gipi-textarea',
23531
+ exportAs: 'gipiTextarea',
23532
+ 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>",
22699
23533
  providers: [
22700
23534
  {
22701
23535
  provide: NG_VALUE_ACCESSOR,
22702
- useExisting: forwardRef(() => GIPIRangeSliderComponent_1),
23536
+ useExisting: forwardRef(() => GIPITextareaComponent_1),
22703
23537
  multi: true
22704
- },
23538
+ }
22705
23539
  ],
22706
23540
  host: {
22707
- 'class': 'gipi-range-slider',
23541
+ 'class': 'gipi-textarea',
22708
23542
  },
22709
23543
  changeDetection: ChangeDetectionStrategy.OnPush,
22710
- styles: [":host{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .slider-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1.6rem}:host .slider-wrapper>input{display:flex;font-family:inherit;font-size:inherit;color:inherit;text-align:center;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:.6rem;outline:0}:host .sliders-control{display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;flex:1}:host .from-value,:host .to-value{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.6rem;border-radius:.4rem;width:100%;position:absolute;background-color:#e0e1e2;pointer-events:none;outline:0}:host .from-value::-webkit-slider-thumb,:host .to-value::-webkit-slider-thumb{-webkit-appearance:none;display:block;width:1.4rem;height:1.4rem;border-radius:50%;background-color:#e0313e;pointer-events:all;box-shadow:0 .5px 0 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.14);cursor:-webkit-grab;cursor:grab;outline:0}:host .from-value::-webkit-slider-thumb:hover,:host .to-value::-webkit-slider-thumb:hover{background-color:#cc2d38}:host .from-value::-webkit-slider-thumb:active,:host .to-value::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #e0313e,0 0 9px #e0313e;-webkit-box-shadow:inset 0 0 3px #e0313e,0 0 9px #e0313e;cursor:-webkit-grabbing;cursor:grabbing}:host input[type=number]{border:1px solid rgba(0,0,0,.12);color:#131313;width:50px;height:30px;font-size:20px;outline:0}:host input[type=number]::-webkit-inner-spin-button,:host input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;opacity:0}:host #fromSlider{height:0;z-index:1}"]
23544
+ styles: [":host{display:flex;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}"]
22711
23545
  }),
22712
23546
  __metadata("design:paramtypes", [ElementRef,
22713
23547
  ChangeDetectorRef])
22714
- ], GIPIRangeSliderComponent);
23548
+ ], GIPITextareaComponent);
22715
23549
 
22716
23550
  let INJECTOR;
22717
23551
  const GIPIComponents = [
@@ -22754,6 +23588,14 @@ const GIPIComponents = [
22754
23588
  GIPIBadgeComponent,
22755
23589
  GIPIRangeSliderComponent,
22756
23590
  GIPIRangePageComponent,
23591
+ GIPISlideToggleComponent,
23592
+ GIPIEmptyStateComponent,
23593
+ GIPICardComponent,
23594
+ GIPITextareaComponent,
23595
+ GIPISplitButtonComponent,
23596
+ // Tabs
23597
+ GIPITabGroupComponent,
23598
+ GIPITabComponent,
22757
23599
  // Table
22758
23600
  GIPITableHeaderComponent,
22759
23601
  GIPITableBodyComponent,
@@ -22769,6 +23611,7 @@ const GIPIDirectives = [
22769
23611
  GIPIFileDragAndDropDirective,
22770
23612
  GIPIInfiniteScrollDirective,
22771
23613
  GIPIPaginationControlsDirective,
23614
+ GIPIDynamicTabDirective,
22772
23615
  ];
22773
23616
  const GIPIPipes = [
22774
23617
  GIPIPaginatePipe,
@@ -22817,9 +23660,6 @@ SharedModule = __decorate([
22817
23660
  RadioGroupEntityComponent,
22818
23661
  RadioGroupEnumComponent,
22819
23662
  SlideToggleComponent,
22820
- TabGroupComponent,
22821
- TabComponent,
22822
- DynamicTabDirective,
22823
23663
  IconComponent,
22824
23664
  StepperComponent,
22825
23665
  TextareaComponent,
@@ -22832,7 +23672,6 @@ SharedModule = __decorate([
22832
23672
  SpaceDropDirective,
22833
23673
  OverlayPanelComponent,
22834
23674
  ItssTemplate,
22835
- SelectButtonComponent,
22836
23675
  SelectMonthPeriodComponent,
22837
23676
  InputSelectInfiniteScrollDirective,
22838
23677
  TableScrolledComponent,
@@ -22884,8 +23723,6 @@ SharedModule = __decorate([
22884
23723
  RadioGroupEntityComponent,
22885
23724
  RadioGroupEnumComponent,
22886
23725
  SlideToggleComponent,
22887
- TabGroupComponent,
22888
- TabComponent,
22889
23726
  IconComponent,
22890
23727
  StepperComponent,
22891
23728
  TextareaComponent,
@@ -22895,7 +23732,6 @@ SharedModule = __decorate([
22895
23732
  MentionModule,
22896
23733
  OverlayPanelComponent,
22897
23734
  ItssTemplate,
22898
- SelectButtonComponent,
22899
23735
  SelectMonthPeriodComponent,
22900
23736
  InputSelectInfiniteScrollDirective,
22901
23737
  TableScrolledComponent,
@@ -22910,8 +23746,8 @@ SharedModule = __decorate([
22910
23746
  ],
22911
23747
  entryComponents: [
22912
23748
  GIPIConfirmationDialogComponent,
22913
- TabGroupComponent,
22914
- TabComponent,
23749
+ GIPITabGroupComponent,
23750
+ GIPITabComponent,
22915
23751
  PopoverComponent,
22916
23752
  ],
22917
23753
  providers: [
@@ -23685,33 +24521,27 @@ class GIPIAbstractCrudService extends GIPIAbstractService {
23685
24521
  return this.baseService.httpClient.post(this.url('find-all', version), filter, this.options()).pipe(map(this.handleMapper), takeUntil(this.handleDestroy), catchError(this.handleError));
23686
24522
  }
23687
24523
  findAllEnabled(page, size, version) {
23688
- if ((!page) || (page && (page < 0))) {
23689
- page = 0;
23690
- }
23691
- if ((!size) || (size && (size <= 0))) {
23692
- size = 10;
23693
- }
23694
- return this.baseService.httpClient.get(this.url(`find-all-enabled?page=${page}&size=${size}`, version), this.options()).pipe(map(this.handleMapper), takeUntil(this.handleDestroy), catchError(this.handleError));
24524
+ const validatedPage = Math.max(page, 0);
24525
+ const validatedSize = Math.max(size, 10);
24526
+ const params = new URLSearchParams();
24527
+ params.set('page', validatedPage.toString());
24528
+ params.set('size', validatedSize.toString());
24529
+ const queryString = !StringUtil.isEmpty(params.toString()) ? `?${params.toString()}` : '';
24530
+ return this.baseService.httpClient.get(this.url(`find-all-enabled${queryString}`, version), this.options()).pipe(map(this.handleMapper), takeUntil(this.handleDestroy), catchError(this.handleError));
23695
24531
  }
23696
24532
  findByValue(value, page, size, sort, version) {
23697
- let lValue = value;
23698
- if (value) {
23699
- lValue = StringUtil.removeAccents(value).trim();
23700
- }
23701
- else {
23702
- lValue = '';
23703
- }
23704
- if ((!page) || (page && (page < 0))) {
23705
- page = 0;
23706
- }
23707
- if ((!size) || (size && (size <= 0))) {
23708
- size = 10;
23709
- }
23710
- let lSort = '';
24533
+ const formattedValue = !StringUtil.isEmpty(value) ? value.trim() : '';
24534
+ const validatedPage = Math.max(page, 0);
24535
+ const validatedSize = Math.max(size, 10);
24536
+ const params = new URLSearchParams();
24537
+ params.set('value', formattedValue);
24538
+ params.set('page', validatedPage.toString());
24539
+ params.set('size', validatedSize.toString());
23711
24540
  if (!ObjectUtil.isNull(sort) && !StringUtil.isEmpty(sort.field)) {
23712
- lSort = `&sort=${sort.field},${sort.direction}`;
24541
+ params.set('sort', `${sort.field},${sort.direction}`);
23713
24542
  }
23714
- return this.baseService.httpClient.get(this.url(`find-by-value?page=${page}&size=${size}${lSort}&value=${lValue}`, version), this.options()).pipe(map(this.handleMapper), takeUntil(this.handleDestroy), catchError(this.handleError));
24543
+ const queryString = !StringUtil.isEmpty(params.toString()) ? `?${params.toString()}` : '';
24544
+ return this.baseService.httpClient.get(this.url(`find-by-value${queryString}`, version), this.options()).pipe(map(this.handleMapper), takeUntil(this.handleDestroy), catchError(this.handleError));
23715
24545
  }
23716
24546
  /**
23717
24547
  * Refers to the enable-or-disable endpoint
@@ -24849,6 +25679,15 @@ class MenuDTO extends AbstractDTO {
24849
25679
  }
24850
25680
  }
24851
25681
 
25682
+ class TabDTO extends AbstractDTO {
25683
+ constructor() {
25684
+ super(...arguments);
25685
+ this.active = false;
25686
+ this.closeable = false;
25687
+ this.disabled = false;
25688
+ }
25689
+ }
25690
+
24852
25691
  class TableColumnDTO extends AbstractDTO {
24853
25692
  constructor(name, property, value, sortable, hiddenSm, visible, width, marginLeft, marginRight, align, template, templateHeader, sliceLength, action) {
24854
25693
  super();
@@ -25244,128 +26083,6 @@ class EmailUtil {
25244
26083
  }
25245
26084
  }
25246
26085
 
25247
- /** @dynamic */
25248
- class PhoneUtil {
25249
- static removeCharacters(value) {
25250
- if (StringUtil.isEmpty(value)) {
25251
- return '';
25252
- }
25253
- return value.replace(/\D/g, '');
25254
- }
25255
- static maskLib(phoneNumber, state, country = 'BR') {
25256
- let exampleNumber;
25257
- if (!StringUtil.isEmpty(phoneNumber)) {
25258
- const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
25259
- if (parsedNumber) {
25260
- exampleNumber = parsedNumber;
25261
- }
25262
- }
25263
- else {
25264
- exampleNumber = getExampleNumber(country, state);
25265
- }
25266
- if (exampleNumber) {
25267
- const formattedNumber = exampleNumber.formatNational();
25268
- return formattedNumber.replace(/\d/g, '0');
25269
- }
25270
- else {
25271
- throw new Error('Estado não suportado ou código de estado inválido.');
25272
- }
25273
- }
25274
- static formatLib(phoneNumber, country = 'BR') {
25275
- try {
25276
- const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
25277
- if (parsedNumber) {
25278
- return parsedNumber.formatNational();
25279
- }
25280
- else {
25281
- throw new Error('Número de telefone inválido.');
25282
- }
25283
- }
25284
- catch (error) {
25285
- throw new Error('Erro ao formatar o número de telefone: ' + error.message);
25286
- }
25287
- }
25288
- static format(number, mask) {
25289
- let numberNotFormatted = NumberUtil.onlyNumbers(number);
25290
- let phoneFormatted = '';
25291
- if ((numberNotFormatted.length < 8) ||
25292
- (numberNotFormatted.length > 12) ||
25293
- (!this.isPossible(numberNotFormatted) && !this.isValid(numberNotFormatted))) {
25294
- return numberNotFormatted;
25295
- }
25296
- if (StringUtil.isEmpty(mask)) {
25297
- mask = this.mask(numberNotFormatted);
25298
- }
25299
- for (let i = 0, j = 0; i < mask.length && j < numberNotFormatted.length; i++) {
25300
- phoneFormatted += mask.charAt(i) === '0' ? numberNotFormatted.charAt(j++) : mask.charAt(i);
25301
- }
25302
- return phoneFormatted;
25303
- }
25304
- static mask(phone) {
25305
- const specialPrefixes = ['0900', '0800', '0700', '0600', '0500', '0400', '0300', '0200', '0100'];
25306
- let phoneAux = this.removeCharacters(phone.replace(/\D/g, ''));
25307
- if ((phoneAux.length < 8) ||
25308
- (phoneAux.length > 12) ||
25309
- (!this.isPossible(phoneAux) && !this.isValid(phoneAux))) {
25310
- return '0*';
25311
- }
25312
- const existInArray = specialPrefixes.some(prefix => phoneAux.startsWith(prefix));
25313
- if (existInArray) {
25314
- return '0000 000 0000'; // Para números especiais como 0800
25315
- }
25316
- switch (phoneAux.length) {
25317
- case 8: return '0000-0000';
25318
- case 9: return '0 0000-0000';
25319
- case 10: return '(00) 0000-0000';
25320
- case 11: return '(00) 0 0000-0000';
25321
- case 12: return '(000) 0 0000-0000';
25322
- default: return '0*';
25323
- }
25324
- }
25325
- static isPossible(phoneNumber, country = 'BR') {
25326
- try {
25327
- const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
25328
- return parsedNumber ? parsedNumber.isPossible() : false;
25329
- }
25330
- catch (error) {
25331
- return false;
25332
- }
25333
- }
25334
- static isValid(phoneNumber, country = 'BR') {
25335
- try {
25336
- const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
25337
- return parsedNumber ? parsedNumber.isValid() : false;
25338
- }
25339
- catch (error) {
25340
- return false;
25341
- }
25342
- }
25343
- static getType(phoneNumber, country = 'BR') {
25344
- try {
25345
- const parsedNumber = parsePhoneNumberFromString(phoneNumber, country);
25346
- return parsedNumber ? parsedNumber.getType() : null;
25347
- }
25348
- catch (error) {
25349
- return null;
25350
- }
25351
- }
25352
- static isEqual(phoneNumber1, phoneNumber2, country = 'BR') {
25353
- try {
25354
- const parsedNumber1 = parsePhoneNumberFromString(phoneNumber1, country);
25355
- const parsedNumber2 = parsePhoneNumberFromString(phoneNumber2, country);
25356
- if (parsedNumber1 && parsedNumber2) {
25357
- return parsedNumber1.isEqual(parsedNumber2);
25358
- }
25359
- else {
25360
- return false;
25361
- }
25362
- }
25363
- catch (error) {
25364
- return false;
25365
- }
25366
- }
25367
- }
25368
-
25369
26086
  /** @dynamic */
25370
26087
  class TableColumnBuilder {
25371
26088
  constructor(breakpointObserverService) {
@@ -25940,5 +26657,5 @@ const MAT_NATIVE_DATE_FORMATS = {
25940
26657
  * Generated bundle index. Do not edit.
25941
26658
  */
25942
26659
 
25943
- 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, DynamicTabDirective, EmailUtil, ErrorInterceptor, FilterDTO, GIPIAbstractComponent, GIPIAbstractCrudComponent, GIPIAbstractCrudService, GIPIAbstractDTO, GIPIAbstractFilterModel, GIPIAbstractFindComponent, GIPIAbstractFormComponent, GIPIAbstractModel, GIPIAbstractService, GIPIActionRowComponent, GIPIAppliedFilter, GIPIAutowired, GIPIBadgeComponent, GIPIBaseService, GIPIBreakpointService, GIPIButtonComponent, GIPIColDirective, GIPIConfirmationDialogComponent, GIPIConnectedOverlayScrollHandler, GIPIDomHandler, GIPIDropdownMenuComponent, 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, GIPISortDirectionEnum, GIPISortModel, GIPIStepperComponent, GIPITableBodyComponent, GIPITableComponent, GIPITableFooterComponent, GIPITableHeaderComponent, GIPITablePaginationComponent, GIPITableProgressBarComponent, GIPITemplateDirective, 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, SelectButtonComponent, SelectButtonNextBatchComponent, SelectEntityComponent, SelectEntityPagedComponent, SelectEnumComponent, SelectMonthPeriodComponent, SelectNoEntriesFoundDirective, SelectSearchClearDirective, SelectSearchComponent, SharedModule, SlideToggleComponent, SortDTO, SortDirectionEnum, SortModel, StepperComponent, StringUtil, SvgRegisterService, TabComponent, TabDTO, TabGroupComponent, TableColumnBuilder, TableColumnBuilderModel, TableColumnDTO, TableColumnModel, TableComponent, TableScrolledComponent, TimeUtil, TokenDTO, URLParamsUtil, UUIDUtil, customCurrencyMaskConfig, getReflectType, gridResponsiveMap, matDatepickerAnimations, nextUniqueId$f 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 };
26660
+ 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$j 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 };
25944
26661
  //# sourceMappingURL=gipisistemas-ng-core.js.map