@gipisistemas/ng-core 1.1.11 → 1.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/assets/styles/colors.scss +228 -211
  2. package/assets/styles/styles.scss +54 -5
  3. package/bundles/gipisistemas-ng-core.umd.js +3516 -146
  4. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  5. package/bundles/gipisistemas-ng-core.umd.min.js +9 -9
  6. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  7. package/core/gipi-components/components/abstract-find.component.d.ts +1 -0
  8. package/core/gipi-components/components/abstract.component.d.ts +1 -0
  9. package/esm2015/core/gipi-components/components/abstract-find.component.js +22 -1
  10. package/esm2015/core/gipi-components/components/abstract.component.js +5 -2
  11. package/esm2015/gipi-components.js +19 -6
  12. package/esm2015/gipisistemas-ng-core.js +3 -1
  13. package/esm2015/shared/components/button/button.component.js +2 -2
  14. package/esm2015/shared/components/icon/icon.component.js +2 -4
  15. package/esm2015/shared/gipi-components/button/button.component.js +2 -2
  16. package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  17. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
  18. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
  19. package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
  20. package/esm2015/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +158 -0
  21. package/esm2015/shared/gipi-components/datetime-picker/datetime-picker.module.js +82 -0
  22. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +116 -0
  23. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +676 -0
  24. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +306 -0
  25. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
  26. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
  27. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
  28. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +346 -0
  29. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +83 -0
  30. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
  31. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +451 -0
  32. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +151 -0
  33. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +230 -0
  34. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +43 -0
  35. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +139 -0
  36. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
  37. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +138 -0
  38. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
  39. package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +141 -0
  40. package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  41. package/esm2015/shared/gipi-components/form-field/form-field.component.js +8 -3
  42. package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  43. package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  44. package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
  45. package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +20 -6
  46. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
  47. package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  48. package/esm2015/shared/gipi-components/range-page/range-page.component.js +1 -1
  49. package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +1 -1
  50. package/esm2015/shared/gipi-components/select-button/select-button.component.js +1 -1
  51. package/esm2015/shared/gipi-components/split-button/split-button.component.js +2 -2
  52. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
  53. package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
  54. package/esm2015/shared/shared.module.js +51 -3
  55. package/esm5/core/gipi-components/components/abstract-find.component.js +22 -1
  56. package/esm5/core/gipi-components/components/abstract.component.js +5 -2
  57. package/esm5/gipi-components.js +19 -6
  58. package/esm5/gipisistemas-ng-core.js +3 -1
  59. package/esm5/shared/components/button/button.component.js +2 -2
  60. package/esm5/shared/components/icon/icon.component.js +2 -4
  61. package/esm5/shared/gipi-components/button/button.component.js +2 -2
  62. package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
  63. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
  64. package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
  65. package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
  66. package/esm5/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +176 -0
  67. package/esm5/shared/gipi-components/datetime-picker/datetime-picker.module.js +85 -0
  68. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +119 -0
  69. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +747 -0
  70. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +332 -0
  71. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
  72. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
  73. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
  74. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +377 -0
  75. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +89 -0
  76. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
  77. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +495 -0
  78. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +160 -0
  79. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +248 -0
  80. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +49 -0
  81. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +145 -0
  82. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
  83. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +141 -0
  84. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
  85. package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +151 -0
  86. package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
  87. package/esm5/shared/gipi-components/form-field/form-field.component.js +8 -3
  88. package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
  89. package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
  90. package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
  91. package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +25 -6
  92. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
  93. package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
  94. package/esm5/shared/gipi-components/range-page/range-page.component.js +1 -1
  95. package/esm5/shared/gipi-components/range-slider/range-slider.component.js +1 -1
  96. package/esm5/shared/gipi-components/select-button/select-button.component.js +1 -1
  97. package/esm5/shared/gipi-components/split-button/split-button.component.js +2 -2
  98. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
  99. package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
  100. package/esm5/shared/shared.module.js +51 -3
  101. package/fesm2015/gipisistemas-ng-core.js +3244 -157
  102. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  103. package/fesm5/gipisistemas-ng-core.js +3494 -152
  104. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  105. package/gipi-components.d.ts +16 -0
  106. package/gipisistemas-ng-core.d.ts +2 -0
  107. package/gipisistemas-ng-core.metadata.json +1 -1
  108. package/package.json +4 -4
  109. package/shared/components/icon/icon.component.d.ts +1 -3
  110. package/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.d.ts +40 -0
  111. package/shared/gipi-components/datetime-picker/datetime-picker.module.d.ts +2 -0
  112. package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.d.ts +50 -0
  113. package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.d.ts +140 -0
  114. package/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.d.ts +66 -0
  115. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.d.ts +8 -0
  116. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.d.ts +2 -0
  117. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.d.ts +5 -0
  118. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.d.ts +98 -0
  119. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.d.ts +20 -0
  120. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.d.ts +1 -0
  121. package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.d.ts +133 -0
  122. package/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.d.ts +53 -0
  123. package/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.d.ts +80 -0
  124. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.d.ts +4 -0
  125. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.d.ts +46 -0
  126. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.d.ts +20 -0
  127. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.d.ts +36 -0
  128. package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.d.ts +2 -0
  129. package/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.d.ts +52 -0
  130. package/shared/gipi-components/form-field/form-field.component.d.ts +1 -0
  131. package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +4 -2
@@ -27,7 +27,7 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle';
27
27
  import { MatCardModule } from '@angular/material/card';
28
28
  import { MatCheckboxModule } from '@angular/material/checkbox';
29
29
  import { MatChipsModule } from '@angular/material/chips';
30
- import { MatRippleModule, MAT_DATE_FORMATS as MAT_DATE_FORMATS$1, ErrorStateMatcher, mixinErrorState, mixinColor } from '@angular/material/core';
30
+ import { MatRippleModule, MAT_DATE_FORMATS as MAT_DATE_FORMATS$1, ErrorStateMatcher, mixinErrorState, mixinColor, DateAdapter as DateAdapter$1, MAT_DATE_LOCALE as MAT_DATE_LOCALE$1, NativeDateModule, MatNativeDateModule as MatNativeDateModule$1 } from '@angular/material/core';
31
31
  import { MatDialogModule, MatDialog as MatDialog$1 } from '@angular/material/dialog';
32
32
  import { MatDividerModule } from '@angular/material/divider';
33
33
  import { MatExpansionModule } from '@angular/material/expansion';
@@ -55,10 +55,10 @@ import { MatTooltipModule } from '@angular/material/tooltip';
55
55
  import { MatTreeModule } from '@angular/material/tree';
56
56
  import rfdc_ from 'rfdc';
57
57
  import { HttpHeaders, HttpParams, HttpClient, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
58
- import { Subject, throwError, BehaviorSubject, of, combineLatest, fromEvent, ReplaySubject, Subscription, merge } from 'rxjs';
59
- import { debounceTime, map, distinctUntilChanged, switchMap, startWith, delay, takeUntil, take, tap, filter, auditTime, finalize, shareReplay, catchError } from 'rxjs/operators';
58
+ import { Subject, throwError, BehaviorSubject, of, combineLatest, fromEvent, ReplaySubject, Subscription, merge, asyncScheduler } from 'rxjs';
59
+ import { debounceTime, map, distinctUntilChanged, switchMap, startWith, delay, takeUntil, take, tap, filter, auditTime, finalize, shareReplay, first, catchError } from 'rxjs/operators';
60
60
  import { parsePhoneNumberFromString, getExampleNumber } from 'libphonenumber-js';
61
- import { trigger, state, style, transition, animate, animation, useAnimation } from '@angular/animations';
61
+ import { trigger, state, style, transition, animate, animation, useAnimation, keyframes } from '@angular/animations';
62
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';
63
63
  import { coerceCssPixelValue, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
64
64
  import { MediaMatcher, BreakpointObserver } from '@angular/cdk/layout';
@@ -66,7 +66,7 @@ import { Platform as Platform$1, PlatformModule } from '@angular/cdk/platform';
66
66
  import { Directionality } from '@angular/cdk/bidi';
67
67
  import { OverlayConfig, Overlay, OverlayModule } from '@angular/cdk/overlay';
68
68
  import * as moment_ from 'moment';
69
- import { matDatepickerAnimations as matDatepickerAnimations$1 } from '@angular/material/datepicker';
69
+ import { MatDatepickerIntl as MatDatepickerIntl$1, MAT_DATEPICKER_SCROLL_STRATEGY as MAT_DATEPICKER_SCROLL_STRATEGY$1, MatDatepickerModule, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER as MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER$1, matDatepickerAnimations as matDatepickerAnimations$1 } from '@angular/material/datepicker';
70
70
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
71
71
  import { DomSanitizer } from '@angular/platform-browser';
72
72
  import { onlyNumbers, isValidIE, isValidCEP } from '@brazilian-utils/brazilian-utils';
@@ -82,15 +82,6 @@ var DEFAULT_MESSAGES = {
82
82
  NOT_PERMISSION: 'Infelizmente, esta ação não é permitida para o seu perfil',
83
83
  };
84
84
 
85
- /**
86
- * @license
87
- * Copyright Google LLC All Rights Reserved.
88
- *
89
- * Use of this source code is governed by an MIT-style license that can be
90
- * found in the LICENSE file at https://angular.io/license
91
- */
92
- var MAT_DATE_FORMATS = new InjectionToken('mat-date-formats');
93
-
94
85
  var MODULES = [
95
86
  A11yModule,
96
87
  CdkPopoverEditModule,
@@ -147,6 +138,17 @@ var MaterialModule = /** @class */ (function () {
147
138
  return MaterialModule;
148
139
  }());
149
140
 
141
+ /**
142
+ * @license
143
+ * Copyright Google LLC All Rights Reserved.
144
+ *
145
+ * Use of this source code is governed by an MIT-style license that can be
146
+ * found in the LICENSE file at https://angular.io/license
147
+ */
148
+ var MAT_DATE_FORMATS = new InjectionToken('mat-date-formats');
149
+
150
+ var GIPI_DATETIME_FORMATS = new InjectionToken('mat-datetime-formats');
151
+
150
152
  var ButtonComponent = /** @class */ (function () {
151
153
  function ButtonComponent() {
152
154
  this.color = 'primary';
@@ -246,7 +248,7 @@ var ButtonComponent = /** @class */ (function () {
246
248
  ButtonComponent = __decorate([
247
249
  Component({
248
250
  selector: 'itss-button',
249
- template: "<button #button\n mat-raised-button\n *ngIf=\"type === 'raised'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n <mat-icon *ngIf=\"rightIcon\">\n {{ rightIcon }}\n </mat-icon>\n</button>\n\n<button #button\n mat-stroked-button\n *ngIf=\"type === 'stroked'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n [matMenuTriggerFor]=\"menu\"\n mat-button\n *ngIf=\"type === 'menu'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-raised-button\n *ngIf=\"type === 'spinner'\"\n [color]=\"color\"\n [disabled]=\"loading || disabled\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon && !loading\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <mat-icon *ngIf=\"loading\">\n <mat-spinner diameter=\"20\"> </mat-spinner>\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"!type\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"type === 'popover'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'popover-icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n</button>\n<mde-popover #popover=\"mdePopover\"\n [mdePopoverOverlapTrigger]=\"false\"\n [mdePopoverCloseOnClick]=\"false\"\n [mdeFocusTrapEnabled]=\"false\"\n [mdeFocusTrapAutoCaptureEnabled]=\"false\">\n <mat-card [ngClass]=\"styleClassPopover\"\n class=\"button-popover\">\n <mat-card-content>\n <ng-template [ngTemplateOutlet]=\"popoverRef\"></ng-template>\n </mat-card-content>\n </mat-card>\n</mde-popover>\n",
251
+ template: "<button #button\n mat-raised-button\n *ngIf=\"type === 'raised'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n <mat-icon *ngIf=\"rightIcon\">\n {{ rightIcon }}\n </mat-icon>\n</button>\n\n<button #button\n mat-stroked-button\n *ngIf=\"type === 'stroked'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n [matMenuTriggerFor]=\"menu\"\n mat-button\n *ngIf=\"type === 'menu'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-raised-button\n *ngIf=\"type === 'spinner'\"\n [color]=\"color\"\n [disabled]=\"loading || disabled\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon && !loading\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <mat-icon *ngIf=\"loading\">\n <mat-spinner diameter=\"20\"> </mat-spinner>\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"!type\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-button\n *ngIf=\"type === 'popover'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n <span>\n {{ label }}\n </span>\n</button>\n\n<button #button\n mat-icon-button\n *ngIf=\"type === 'popover-icon'\"\n [color]=\"color\"\n [matBadge]=\"badge\"\n [matBadgeColor]=\"badgeColor\"\n [disabled]=\"disabled\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [mdePopoverTriggerFor]=\"popover\"\n mdePopoverTriggerOn=\"click\"\n #popoverTrigger=\"mdePopoverTrigger\"\n fxFlex\n (click)=\"onClickButton($event)\">\n <mat-icon *ngIf=\"icon\">\n {{ icon }}\n </mat-icon>\n <mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\">\n </mat-icon>\n</button>\n<mde-popover #popover=\"mdePopover\"\n [mdePopoverOverlapTrigger]=\"false\"\n [mdePopoverCloseOnClick]=\"false\"\n [mdeFocusTrapEnabled]=\"false\"\n [mdeFocusTrapAutoCaptureEnabled]=\"false\">\n <mat-card [ngClass]=\"styleClassPopover\"\n class=\"button-popover\">\n <mat-card-content>\n <ng-template [ngTemplateOutlet]=\"popoverRef\"></ng-template>\n </mat-card-content>\n </mat-card>\n</mde-popover>\n",
250
252
  styles: [":host button:disabled{cursor:not-allowed!important}:host button:disabled ::ng-deep .mat-button-wrapper{pointer-events:none!important}"]
251
253
  })
252
254
  ], ButtonComponent);
@@ -383,8 +385,6 @@ var CheckboxComponent = /** @class */ (function () {
383
385
  var IconComponent = /** @class */ (function () {
384
386
  function IconComponent() {
385
387
  }
386
- IconComponent.prototype.ngOnInit = function () {
387
- };
388
388
  __decorate([
389
389
  Input(),
390
390
  __metadata("design:type", String)
@@ -408,7 +408,7 @@ var IconComponent = /** @class */ (function () {
408
408
  IconComponent = __decorate([
409
409
  Component({
410
410
  selector: 'itss-icon',
411
- template: "<mat-icon *ngIf=\"icon\"\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n {{ icon }}\n</mat-icon>\n\n<mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n [matTooltip]=\"tooltip\"\n [style.color]=\"color\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n</mat-icon>\n",
411
+ template: "<mat-icon *ngIf=\"icon\"\n [style.color]=\"color\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n {{ icon }}\n</mat-icon>\n\n<mat-icon *ngIf=\"svgIcon\"\n [svgIcon]=\"svgIcon\"\n [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\n [style.color]=\"color\"\n [style.width.px]=\"iconSize\"\n [style.height.px]=\"iconSize\"\n matSuffix>\n</mat-icon>\n",
412
412
  styles: [""]
413
413
  })
414
414
  ], IconComponent);
@@ -9222,7 +9222,7 @@ var GIPIButtonComponent = /** @class */ (function () {
9222
9222
  Component({
9223
9223
  selector: "gipi-button[gipi-primary], gipi-button[gipi-primary-icon], gipi-button[gipi-secondary], gipi-button[gipi-secondary-icon],\n gipi-button[gipi-tertiary], gipi-button[gipi-link], gipi-button[gipi-icon], gipi-button[gipi-action]",
9224
9224
  exportAs: 'gipiButton',
9225
- 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>",
9225
+ 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 matTooltipClass=\"mattooltip-line-break\"\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>\n",
9226
9226
  providers: [
9227
9227
  {
9228
9228
  provide: NG_VALUE_ACCESSOR,
@@ -9750,7 +9750,7 @@ var GIPIDropdownMenuComponent = /** @class */ (function () {
9750
9750
  'class': 'gipi-dropdown-menu',
9751
9751
  },
9752
9752
  changeDetection: ChangeDetectionStrategy.OnPush,
9753
- styles: [".dropdown-menu-container{display:flex;flex-direction:column;gap:1rem;width:100%}.dropdown-menu-container .dropdown-menu-label{color:#131313;font-size:1.4rem;line-height:100%}.dropdown-menu-container .dropdown-menu-label>span{color:#d14014;font-size:inherit;line-height:inherit}.dropdown-menu-container .dropdown-menu-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:pointer;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;transition:.2s}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:active),.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:hover{border-color:#bfbfbf!important;background-color:#f5f5f5}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled){background-color:#e0e1e2!important;border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-input,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-button{cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-input{cursor:pointer;height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.dropdown-menu-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.btn-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
9753
+ styles: [".dropdown-menu-container{display:flex;flex-direction:column;gap:1rem;width:100%}.dropdown-menu-container .dropdown-menu-label{color:#131313;font-size:1.4rem;line-height:100%}.dropdown-menu-container .dropdown-menu-label>span{color:#d14014;font-size:inherit;line-height:inherit}.dropdown-menu-container .dropdown-menu-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:pointer;background-color:#fff;border:1px solid #0000001f;color:#696969;transition:.2s}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:active),.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.dropdown-menu-container .dropdown-menu-content:focus-within,.dropdown-menu-container .dropdown-menu-content:hover{border-color:#bfbfbf!important;background-color:#f5f5f5}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled){background-color:#e0e1e2!important;border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-input,.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-button{cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) .dropdown-menu-suffix .dropdown-menu-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content:has(.dropdown-menu-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-input{cursor:pointer;height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.dropdown-menu-container .dropdown-menu-content .dropdown-menu-suffix .dropdown-menu-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.dropdown-menu-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.btn-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
9754
9754
  }),
9755
9755
  __metadata("design:paramtypes", [ChangeDetectorRef,
9756
9756
  ElementRef])
@@ -10205,6 +10205,7 @@ var GIPIFormFieldComponent = /** @class */ (function () {
10205
10205
  this.id = this._name;
10206
10206
  this.name = this._name;
10207
10207
  this.label = '';
10208
+ this.tooltip = '';
10208
10209
  this.ariaLabel = '';
10209
10210
  this.placeholder = '';
10210
10211
  this.readonly = false;
@@ -10336,6 +10337,10 @@ var GIPIFormFieldComponent = /** @class */ (function () {
10336
10337
  Input(),
10337
10338
  __metadata("design:type", String)
10338
10339
  ], GIPIFormFieldComponent.prototype, "label", void 0);
10340
+ __decorate([
10341
+ Input(),
10342
+ __metadata("design:type", String)
10343
+ ], GIPIFormFieldComponent.prototype, "tooltip", void 0);
10339
10344
  __decorate([
10340
10345
  Input(),
10341
10346
  __metadata("design:type", String)
@@ -10447,7 +10452,7 @@ var GIPIFormFieldComponent = /** @class */ (function () {
10447
10452
  Component({
10448
10453
  selector: "gipi-form-field",
10449
10454
  exportAs: 'gipiFormField',
10450
- template: "<label class=\"form-field-container\"\n [attr.for]=\"id\">\n <span class=\"form-field-label\"\n *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n </span>\n\n <div class=\"form-field-content\"\n [class.form-field-select]=\"type === 'select'\"\n (click)=\"onInputClick($event)\">\n <!-- Input others -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type !== 'currency'\"\n #inputRef\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max ? max : 250\"\n [maxlength]=\"maxLength ? maxLength : 250\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <!-- Input currency -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type === 'currency'\"\n #inputRef\n currencyMask\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name + 'currency'\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n [options]=\"optionsCurrency\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'select'\">\n <div class=\"form-field-trigger\"\n *ngIf=\"showTrigger && (trigger && trigger > 1)\">\n + {{ trigger >= 99 ? 99 : trigger }}\n </div>\n\n <button ariaLabel=\"Limpar op\u00E7\u00F5es\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <div class=\"form-field-icon-arrow\"> </div>\n </div>\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'search'\">\n <button ariaLabel=\"Limpar\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <button ariaLabel=\"Pesquisar\"\n class=\"form-field-button\"\n *ngIf=\"showSearch\"\n (click)=\"onButtonSearchClick($event)\">\n <mat-icon class=\"form-field-icon\">\n search\n </mat-icon>\n </button>\n\n <mat-icon class=\"form-field-icon\"\n *ngIf=\"!showSearch\">\n search\n </mat-icon>\n </div>\n </div>\n</label>",
10455
+ template: "<label class=\"form-field-container\"\n [attr.for]=\"id\">\n <span class=\"form-field-label\"\n *ngIf=\"label\">\n {{ label }}\n <span *ngIf=\"required && label\"> * </span>\n <gipi-helpful-tip *ngIf=\"tooltip && label\"\n [tooltip]=\"tooltip\">\n </gipi-helpful-tip>\n </span>\n\n <div class=\"form-field-content\"\n [class.form-field-select]=\"type === 'select'\"\n (click)=\"onInputClick($event)\">\n <!-- Input others -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type !== 'currency'\"\n #inputRef\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max ? max : 250\"\n [maxlength]=\"maxLength ? maxLength : 250\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <!-- Input currency -->\n <input class=\"form-field-input\"\n *ngIf=\"type && type === 'currency'\"\n #inputRef\n currencyMask\n autocomplete=\"off\"\n [attr.id]=\"id\"\n [attr.aria-label]=\"ariaLabel\"\n [name]=\"name + 'currency'\"\n [type]=\"type\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxLength\"\n [mask]=\"mask\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"pattern\"\n [(ngModel)]=\"model\"\n [value]=\"value\"\n [options]=\"optionsCurrency\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'select'\">\n <div class=\"form-field-trigger\"\n *ngIf=\"showTrigger && (trigger && trigger > 1)\">\n + {{ trigger >= 99 ? 99 : trigger }}\n </div>\n\n <button ariaLabel=\"Limpar op\u00E7\u00F5es\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <div class=\"form-field-icon-arrow\"> </div>\n </div>\n\n <div class=\"form-field-suffix\"\n *ngIf=\"type === 'search'\">\n <button ariaLabel=\"Limpar\"\n class=\"form-field-button\"\n *ngIf=\"showClear\"\n (click)=\"onButtonClearClick($event)\">\n <mat-icon class=\"form-field-icon\"> clear </mat-icon>\n </button>\n\n <button ariaLabel=\"Pesquisar\"\n class=\"form-field-button\"\n *ngIf=\"showSearch\"\n (click)=\"onButtonSearchClick($event)\">\n <mat-icon class=\"form-field-icon\">\n search\n </mat-icon>\n </button>\n\n <mat-icon class=\"form-field-icon\"\n *ngIf=\"!showSearch\">\n search\n </mat-icon>\n </div>\n </div>\n</label>\n",
10451
10456
  providers: [
10452
10457
  {
10453
10458
  provide: NG_VALUE_ACCESSOR,
@@ -10459,7 +10464,7 @@ var GIPIFormFieldComponent = /** @class */ (function () {
10459
10464
  'class': 'gipi-form-field',
10460
10465
  },
10461
10466
  changeDetection: ChangeDetectionStrategy.OnPush,
10462
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.form-field-container{display:flex;flex-direction:column;gap:1rem;width:100%}.form-field-container .form-field-label{color:#131313;font-size:1.4rem;line-height:100%}.form-field-container .form-field-label>span{color:#d14014;font-size:inherit;line-height:inherit}.form-field-container .form-field-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1.2rem;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:has(.form-field-input:active),.form-field-container .form-field-content:has(.form-field-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:hover{border-color:#bfbfbf!important}.form-field-container .form-field-content:has(.form-field-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.form-field-container .form-field-content:has(.form-field-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.form-field-container .form-field-content:has(.form-field-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-input,.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-button{cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content.form-field-select,.form-field-container .form-field-content.form-field-select .form-field-input{box-shadow:none!important;cursor:pointer!important}.form-field-container .form-field-content .form-field-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-field-container .form-field-content .form-field-suffix{display:flex;flex-direction:row;align-items:center;gap:1.6rem}.form-field-container .form-field-content .form-field-suffix .form-field-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.form-field-container .form-field-content .form-field-suffix .form-field-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.form-field-container .form-field-content .form-field-suffix .form-field-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.form-field-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.form-field-icon-arrow{border:solid #131313;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);margin:-5px 4px 0}"]
10467
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.form-field-container{display:flex;flex-direction:column;gap:1rem;width:100%}.form-field-container .form-field-label{color:#131313;font-size:1.4rem;line-height:100%}.form-field-container .form-field-label>span{color:#d14014;font-size:inherit;line-height:inherit}.form-field-container .form-field-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:1.2rem;gap:1rem;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid #0000001f;color:#696969;caret-color:#9a9da2;transition:.2s}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:has(.form-field-input:active),.form-field-container .form-field-content:has(.form-field-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.form-field-container .form-field-content:focus-within,.form-field-container .form-field-content:hover{border-color:#bfbfbf!important}.form-field-container .form-field-content:has(.form-field-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.form-field-container .form-field-content:has(.form-field-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.form-field-container .form-field-content:has(.form-field-input:disabled){border-color:#e0e1e2!important;color:#d1d2d4!important;box-shadow:none!important;cursor:not-allowed!important;caret-color:#d1d2d4!important;background-color:#f5f5f6!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-input,.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-button{cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) .form-field-suffix .form-field-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.form-field-container .form-field-content:has(.form-field-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.form-field-container .form-field-content.form-field-select,.form-field-container .form-field-content.form-field-select .form-field-input{box-shadow:none!important;cursor:pointer!important}.form-field-container .form-field-content .form-field-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-field-container .form-field-content .form-field-suffix{display:flex;flex-direction:row;align-items:center;gap:1.6rem}.form-field-container .form-field-content .form-field-suffix .form-field-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:8px;border-radius:40px;border:1px solid transparent;color:#131313;background-color:#f0f0f0;font-size:1.2rem;line-height:1.4rem}.form-field-container .form-field-content .form-field-suffix .form-field-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.form-field-container .form-field-content .form-field-suffix .form-field-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.form-field-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}.form-field-icon-arrow{border:solid #131313;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);margin:-5px 4px 0}"]
10463
10468
  }),
10464
10469
  __metadata("design:paramtypes", [ChangeDetectorRef,
10465
10470
  ElementRef])
@@ -10839,7 +10844,7 @@ var GIPIInputCurrencyComponent = /** @class */ (function () {
10839
10844
  'class': 'gipi-input-currency',
10840
10845
  },
10841
10846
  changeDetection: ChangeDetectionStrategy.OnPush,
10842
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-currency-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-currency-container .input-currency-label{color:#131313;font-size:1.4rem;line-height:100%}.input-currency-container .input-currency-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-currency-container .input-currency-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:has(.input-currency-input:active),.input-currency-container .input-currency-content:has(.input-currency-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:hover{border-color:#bfbfbf!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.input-currency-container .input-currency-content:has(.input-currency-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed!important;box-shadow:none!important;pointer-events:none!important}.input-currency-container .input-currency-content .input-currency-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1}"]
10847
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-currency-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-currency-container .input-currency-label{color:#131313;font-size:1.4rem;line-height:100%}.input-currency-container .input-currency-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-currency-container .input-currency-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid #0000001f;color:#696969;caret-color:#9a9da2;transition:.2s}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:has(.input-currency-input:active),.input-currency-container .input-currency-content:has(.input-currency-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-currency-container .input-currency-content:focus-within,.input-currency-container .input-currency-content:hover{border-color:#bfbfbf!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid){border-color:#d14014!important;color:#d14014!important;caret-color:#d14014!important}.input-currency-container .input-currency-content:has(.input-currency-input:invalid):focus-within{box-shadow:0 0 0 .2rem #f1c4b6!important}.input-currency-container .input-currency-content:has(.input-currency-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed!important;box-shadow:none!important;pointer-events:none!important}.input-currency-container .input-currency-content .input-currency-input{height:16px;outline:0;border:none;background-color:transparent;color:inherit;flex:1}"]
10843
10848
  }),
10844
10849
  __metadata("design:paramtypes", [ChangeDetectorRef,
10845
10850
  ElementRef])
@@ -11259,7 +11264,7 @@ var GIPIInputMonthPickerComponent = /** @class */ (function () {
11259
11264
  'class': 'gipi-input-monthpicker',
11260
11265
  },
11261
11266
  changeDetection: ChangeDetectionStrategy.OnPush,
11262
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-monthpicker-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;box-shadow:none!important;caret-color:#d1d2d4!important;pointer-events:none!important;cursor:not-allowed!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
11267
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}.input-monthpicker-container{display:flex;flex-direction:column;gap:1rem;width:100%}.input-monthpicker-container .input-monthpicker-label{color:#131313;font-size:1.4rem;line-height:100%}.input-monthpicker-container .input-monthpicker-label>span{color:#d14014;font-size:inherit;line-height:inherit}.input-monthpicker-container .input-monthpicker-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px;width:100%;max-height:4rem;border-radius:5px;cursor:text;background-color:#fff;border:1px solid #0000001f;color:#696969;caret-color:#9a9da2;transition:.2s;position:relative}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:active),.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:focus){box-shadow:0 0 0 .2rem #f0f0f0}.input-monthpicker-container .input-monthpicker-content:focus-within,.input-monthpicker-container .input-monthpicker-content:hover{border-color:#bfbfbf!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;box-shadow:none!important;caret-color:#d1d2d4!important;pointer-events:none!important;cursor:not-allowed!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-input,.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-button{cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) .input-monthpicker-suffix .input-monthpicker-trigger{border-color:#e0e1e2!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content:has(.input-monthpicker-input:disabled) mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;cursor:not-allowed!important;pointer-events:none!important}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-input{height:16px;max-width:84%;outline:0;border:none;background-color:transparent;color:inherit;flex:1}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix{display:flex;flex-direction:row;align-items:center;gap:16px}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button{display:flex;align-items:center;justify-content:center;outline:0;border:none;cursor:pointer;background-color:transparent}.input-monthpicker-container .input-monthpicker-content .input-monthpicker-suffix .input-monthpicker-button:hover:not(:disabled)>mat-icon{transform:scale(1.08)}.input-monthpicker-icon{width:1.6rem;height:1.6rem;font-size:1.6rem;color:#131313;fill:#131313}::ng-deep .calendar{width:100%;display:flex;flex-direction:column}::ng-deep .calendar .calendar-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #aeb1b5;margin-bottom:8px}::ng-deep .calendar .calendar-header .calendar-title{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:1.6rem;line-height:1.8rem;font-weight:600;cursor:default;border-radius:8px;padding:8px;white-space:nowrap}::ng-deep .calendar .calendar-header .calendar-title>mat-icon{font-size:2rem;width:20px;height:20px}::ng-deep .calendar .calendar-header .calendar-title.month:hover{cursor:pointer;background-color:#f0f0f0}::ng-deep .calendar .calendar-header .calendar-controls{display:flex;flex-direction:row;align-items:center;gap:8px}::ng-deep .calendar .calendar-header .calendar-controls>button{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background-color:#e0313e;cursor:pointer;transition:.3s;border:0;outline:0;color:#fff}::ng-deep .calendar .calendar-header .calendar-controls>button:hover{background-color:#cc2d38}::ng-deep .calendar .calendar-header .calendar-controls>button>mat-icon{font-size:1.8rem;width:18px;height:18px}::ng-deep .calendar .table-months{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr);gap:4px}::ng-deep .calendar .table-months .month{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-months .month.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-months .month:not(.disabled).selected,::ng-deep .calendar .table-months .month:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-months .month:not(.disabled).selected:hover{background-color:#cc2d38}::ng-deep .calendar .table-years{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr);gap:4px}::ng-deep .calendar .table-years .year{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:1.4rem;line-height:1.7rem;color:#555659;background-color:#f0f0f0;transition:background-color .1s;cursor:pointer}::ng-deep .calendar .table-years .year.disabled{color:#bbbdc1;background-color:#e0e1e2}::ng-deep .calendar .table-years .year:not(.disabled).selected,::ng-deep .calendar .table-years .year:not(.disabled):hover{color:#fff;background-color:#e0313e}::ng-deep .calendar .table-years .year:not(.disabled).selected:hover{background-color:#cc2d38}"]
11263
11268
  }),
11264
11269
  __metadata("design:paramtypes", [ChangeDetectorRef,
11265
11270
  GIPINgConfig])
@@ -11455,6 +11460,7 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11455
11460
  this._lastOptionSelected = null;
11456
11461
  this.id = this._name;
11457
11462
  this.name = this._name;
11463
+ this.tooltip = '';
11458
11464
  this.placeholder = 'Selecionar';
11459
11465
  this._disabled = false;
11460
11466
  this._loading = false;
@@ -11531,7 +11537,7 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11531
11537
  enumerable: false,
11532
11538
  configurable: true
11533
11539
  });
11534
- Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelected", {
11540
+ Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelectedValue", {
11535
11541
  get: function () {
11536
11542
  var _this = this;
11537
11543
  if (this.value && !ArrayUtil.isEmpty(this._enumList)) {
@@ -11545,6 +11551,20 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11545
11551
  enumerable: false,
11546
11552
  configurable: true
11547
11553
  });
11554
+ Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelectedKey", {
11555
+ get: function () {
11556
+ var _this = this;
11557
+ if (this.value && !ArrayUtil.isEmpty(this._enumList)) {
11558
+ var selected = this._enumList.find(function (e) { return e.key === _this.value; });
11559
+ if (selected) {
11560
+ return selected.key;
11561
+ }
11562
+ }
11563
+ return '';
11564
+ },
11565
+ enumerable: false,
11566
+ configurable: true
11567
+ });
11548
11568
  Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "scrollViewportHeight", {
11549
11569
  get: function () {
11550
11570
  var height = 0;
@@ -11679,11 +11699,15 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11679
11699
  __decorate([
11680
11700
  Input(),
11681
11701
  __metadata("design:type", String)
11682
- ], GIPIInputSelectEnumComponent.prototype, "ariaLabel", void 0);
11702
+ ], GIPIInputSelectEnumComponent.prototype, "label", void 0);
11683
11703
  __decorate([
11684
11704
  Input(),
11685
11705
  __metadata("design:type", String)
11686
- ], GIPIInputSelectEnumComponent.prototype, "label", void 0);
11706
+ ], GIPIInputSelectEnumComponent.prototype, "tooltip", void 0);
11707
+ __decorate([
11708
+ Input(),
11709
+ __metadata("design:type", String)
11710
+ ], GIPIInputSelectEnumComponent.prototype, "ariaLabel", void 0);
11687
11711
  __decorate([
11688
11712
  Input(),
11689
11713
  __metadata("design:type", String)
@@ -11764,7 +11788,7 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11764
11788
  Component({
11765
11789
  selector: "gipi-input-select-enum",
11766
11790
  exportAs: 'gipiInputSelectEnum',
11767
- template: "<gipi-form-field #formFieldSelectEnum\n [id]=\"id\"\n [name]=\"name\"\n [type]=\"'select'\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [label]=\"label\"\n [placeholder]=\"placeholder\"\n [showClear]=\"false\"\n [showTrigger]=\"false\"\n [trigger]=\"0\"\n [ariaLabel]=\"ariaLabel\"\n [value]=\"optionSelected\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"selectEnumPopover\"\n [popoverTriggerOn]=\"!disabled ? 'click' : 'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenedChange.emit(true)\"\n (closed)=\"onOpenedChange.emit(false)\"\n (onKeydown)=\"onInputKeydown($event)\"\n (onFocus)=\"onInputFocus($event)\"\n (onBlur)=\"onInputBlur($event)\"\n (onClick)=\"onInputClick($event)\">\n</gipi-form-field>\n\n<gipi-popover #selectEnumPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"select-enum-popover-content\">\n <cdk-virtual-scroll-viewport *ngIf=\"(_enumList && _enumList.length) && !loading\"\n class=\"select-virtual-scroll-viewport\"\n [style.height.px]=\"scrollViewportHeight\"\n [itemSize]=\"_itemSizeScrollViewport\">\n <div *cdkVirtualFor=\"let e of _enumList\"\n class=\"select-row\"\n [style.height.px]=\"40\"\n [class.disabled]=\"!validateOmitByKey(e.key) && (disabled || loading)\"\n (click)=\"onButtonSelectOptionClick(e.key)\">\n {{ e.value }}\n </div>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"loading\"\n class=\"select-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <div *ngIf=\"(!_enumList || (_enumList && _enumList.length <= 0)) && !loading\"\n class=\"select-not-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n </div>\n </div>\n</gipi-popover>\n\n<!-- <gipi-overlay *ngIf=\"!disabled && !loading\"\n contentStyleClass=\"overlay-select\"\n #overlaySelectEnum\n [(visible)]=\"_overlayVisible\"\n [appendTo]=\"'body'\"\n (onShow)=\"onOpenedChange.emit(true)\"\n (onHide)=\"onOpenedChange.emit(false)\">\n <cdk-virtual-scroll-viewport *ngIf=\"(_enumList && _enumList.length) && !loading\"\n class=\"select-virtual-scroll-viewport\"\n [style.height.px]=\"scrollViewportHeight\"\n [itemSize]=\"_itemSizeScrollViewport\">\n <div *cdkVirtualFor=\"let e of _enumList\"\n class=\"select-row\"\n [style.height.px]=\"40\"\n [class.disabled]=\"!validateOmitByKey(e.key) && (disabled || loading)\"\n (click)=\"onButtonSelectOptionClick(e.key)\">\n {{ e.value }}\n </div>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"loading\"\n class=\"select-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <div *ngIf=\"(!_enumList || (_enumList && _enumList.length <= 0)) && !loading\"\n class=\"select-not-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n </div>\n</gipi-overlay> -->\n",
11791
+ template: "<gipi-form-field #formFieldSelectEnum\n [id]=\"id\"\n [name]=\"name\"\n [type]=\"'select'\"\n [readonly]=\"true\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [label]=\"label\"\n [tooltip]=\"tooltip\"\n [placeholder]=\"placeholder\"\n [showClear]=\"false\"\n [showTrigger]=\"false\"\n [trigger]=\"0\"\n [ariaLabel]=\"ariaLabel\"\n [value]=\"optionSelectedValue\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"selectEnumPopover\"\n [popoverTriggerOn]=\"!disabled ? 'click' : 'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenedChange.emit(true)\"\n (closed)=\"onOpenedChange.emit(false)\"\n (onKeydown)=\"onInputKeydown($event)\"\n (onFocus)=\"onInputFocus($event)\"\n (onBlur)=\"onInputBlur($event)\"\n (onClick)=\"onInputClick($event)\">\n</gipi-form-field>\n\n<gipi-popover #selectEnumPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"select-enum-popover-content\">\n <cdk-virtual-scroll-viewport *ngIf=\"(_enumList && _enumList.length) && !loading\"\n class=\"select-virtual-scroll-viewport\"\n [style.height.px]=\"scrollViewportHeight\"\n [itemSize]=\"_itemSizeScrollViewport\">\n <div *cdkVirtualFor=\"let e of _enumList\"\n class=\"select-row\"\n [style.height.px]=\"40\"\n [class.active]=\"optionSelectedKey === e.key\"\n [class.disabled]=\"!validateOmitByKey(e.key) && (disabled || loading)\"\n (click)=\"onButtonSelectOptionClick(e.key)\">\n {{ e.value }}\n </div>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"loading\"\n class=\"select-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <div *ngIf=\"(!_enumList || (_enumList && _enumList.length <= 0)) && !loading\"\n class=\"select-not-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n </div>\n </div>\n</gipi-popover>\n\n<!-- <gipi-overlay *ngIf=\"!disabled && !loading\"\n contentStyleClass=\"overlay-select\"\n #overlaySelectEnum\n [(visible)]=\"_overlayVisible\"\n [appendTo]=\"'body'\"\n (onShow)=\"onOpenedChange.emit(true)\"\n (onHide)=\"onOpenedChange.emit(false)\">\n <cdk-virtual-scroll-viewport *ngIf=\"(_enumList && _enumList.length) && !loading\"\n class=\"select-virtual-scroll-viewport\"\n [style.height.px]=\"scrollViewportHeight\"\n [itemSize]=\"_itemSizeScrollViewport\">\n <div *cdkVirtualFor=\"let e of _enumList\"\n class=\"select-row\"\n [style.height.px]=\"40\"\n [class.disabled]=\"!validateOmitByKey(e.key) && (disabled || loading)\"\n (click)=\"onButtonSelectOptionClick(e.key)\">\n {{ e.value }}\n </div>\n </cdk-virtual-scroll-viewport>\n\n <div *ngIf=\"loading\"\n class=\"select-loading\">\n <div class=\"dot-pulse\"> </div>\n </div>\n\n <div *ngIf=\"(!_enumList || (_enumList && _enumList.length <= 0)) && !loading\"\n class=\"select-not-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n </div>\n</gipi-overlay> -->\n",
11768
11792
  providers: [
11769
11793
  {
11770
11794
  provide: NG_VALUE_ACCESSOR,
@@ -11776,7 +11800,7 @@ var GIPIInputSelectEnumComponent = /** @class */ (function () {
11776
11800
  'class': 'gipi-input-select-enum',
11777
11801
  },
11778
11802
  changeDetection: ChangeDetectionStrategy.OnPush,
11779
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}"]
11803
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;gap:1rem;padding:0 16px;cursor:pointer;font-size:1.4rem;line-height:100%;border-left:2px solid transparent}::ng-deep .select-row.active{background-color:#fceaec;border-color:#e0313e}::ng-deep .select-row:not(.active):hover{background-color:#f5f5f6}::ng-deep .select-row:not(.active):active{background-color:#e0e1e2}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:0 0 16px}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4.8rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:'';display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-enum-popover-content{overflow:hidden;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)}"]
11780
11804
  }),
11781
11805
  __metadata("design:paramtypes", [ElementRef,
11782
11806
  ChangeDetectorRef])
@@ -13156,7 +13180,7 @@ var GIPIInputSelectComponent = /** @class */ (function () {
13156
13180
  'class': 'gipi-input-select',
13157
13181
  },
13158
13182
  changeDetection: ChangeDetectionStrategy.OnPush,
13159
- styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:1rem;padding:8px 12px}.select-option-all{border-bottom:1px solid rgba(0,0,0,.12)}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:1.6rem 0}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:1rem;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
13183
+ styles: [":host{display:block;min-width:0;max-width:100%;flex:1}::ng-deep .overlay-select{padding:0!important;overflow:hidden!important}::ng-deep .select-virtual-scroll-viewport{width:100%!important;max-height:240px;overflow:auto}::ng-deep .select-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%!important;position:relative!important}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar{width:15px}::ng-deep .select-virtual-scroll-viewport::-webkit-scrollbar-thumb{background-color:#e0e1e2;border-radius:10px;border:4px solid transparent;background-clip:padding-box}::ng-deep .select-row{display:flex;align-items:center;padding:0 16px;cursor:pointer;font-size:1.3rem;line-height:100%;gap:1rem}::ng-deep .select-row:hover{background:#f5f5f6}::ng-deep .select-row:active{background:#e0e1e2}::ng-deep .select-row.disabled{background-color:#d1d2d4!important;color:#9a9da2!important;cursor:not-allowed!important;pointer-events:none!important}::ng-deep .select-row>span{display:-webkit-box;line-clamp:2;box-orient:vertical;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;overflow:hidden}.select-search{display:flex;align-items:center;font-size:1.4rem;line-height:100%;gap:1rem;padding:8px 12px}.select-option-all{border-bottom:1px solid #0000001f}.select-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;gap:8px;color:#131313;cursor:default;padding:1.6rem 0}.select-not-found>mat-icon{width:2.8rem;height:2.8rem;font-size:2.8rem;line-height:2.8rem;color:#131313}.select-loading{height:4rem;width:100%;background-color:#fff;display:flex;align-items:center;justify-content:center}.select-loading .dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e;box-shadow:9999px 0 0 -5px;-webkit-animation:1.5s linear .25s infinite dot-pulse;animation:1.5s linear .25s infinite dot-pulse}.select-loading .dot-pulse::after,.select-loading .dot-pulse::before{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:50%;background-color:#e0313e;color:#e0313e}.select-loading .dot-pulse::before{box-shadow:9984px 0 0 -5px;-webkit-animation:1.5s linear infinite dot-pulse-before;animation:1.5s linear infinite dot-pulse-before}.select-loading .dot-pulse::after{box-shadow:10014px 0 0 -5px;-webkit-animation:1.5s linear .5s infinite dot-pulse-after;animation:1.5s linear .5s infinite dot-pulse-after}@-webkit-keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@keyframes dot-pulse-before{0%,100%,60%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}}@-webkit-keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@keyframes dot-pulse{0%,100%,60%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}}@-webkit-keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}@keyframes dot-pulse-after{0%,100%,60%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}}.select-footer{display:flex;align-items:center;gap:1rem;padding:8px 12px;border-top:1px solid #bfbfbf}::ng-deep .select-mat-option-pseudo-checkbox{margin:0!important}"]
13160
13184
  }),
13161
13185
  __metadata("design:paramtypes", [ChangeDetectorRef])
13162
13186
  ], GIPIInputSelectComponent);
@@ -15689,7 +15713,7 @@ var GIPIRadioGroupComponent = /** @class */ (function () {
15689
15713
  'class': 'gipi-radio-group',
15690
15714
  },
15691
15715
  changeDetection: ChangeDetectionStrategy.OnPush,
15692
- styles: [".radiogroup-content{display:flex;flex-direction:column;gap:1rem}.radiogroup-content>label,.radiogroup-content>legend{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.radiogroup-content>label>span,.radiogroup-content>legend>span{color:#d14014}.radiogroup-content .radiogroup{display:flex;align-items:center;gap:1rem;padding:8px 0}.fieldset-radio-content{height:6.6rem;border-color:rgba(0,0,0,.12);border-radius:5px}.fieldset-radio-content .radiogroup{width:100%;height:100%;justify-content:space-around}"]
15716
+ styles: [".radiogroup-content{display:flex;flex-direction:column;gap:1rem}.radiogroup-content>label,.radiogroup-content>legend{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.radiogroup-content>label>span,.radiogroup-content>legend>span{color:#d14014}.radiogroup-content .radiogroup{display:flex;align-items:center;gap:1rem;padding:8px 0}.fieldset-radio-content{height:6.6rem;border-color:#0000001f;border-radius:5px}.fieldset-radio-content .radiogroup{width:100%;height:100%;justify-content:space-around}"]
15693
15717
  }),
15694
15718
  __metadata("design:paramtypes", [ChangeDetectorRef])
15695
15719
  ], GIPIRadioGroupComponent);
@@ -15963,7 +15987,7 @@ var GIPIRangePageComponent = /** @class */ (function () {
15963
15987
  multi: true
15964
15988
  },
15965
15989
  ],
15966
- 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}"]
15990
+ 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 #0000001f;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 #0000001f;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 #0000001f;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}"]
15967
15991
  }),
15968
15992
  __metadata("design:paramtypes", [ElementRef,
15969
15993
  ChangeDetectorRef])
@@ -16322,7 +16346,7 @@ var GIPIRangeSliderComponent = /** @class */ (function () {
16322
16346
  'class': 'gipi-range-slider',
16323
16347
  },
16324
16348
  changeDetection: ChangeDetectionStrategy.OnPush,
16325
- 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}"]
16349
+ 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 #0000001f;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 #0000001f;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}"]
16326
16350
  }),
16327
16351
  __metadata("design:paramtypes", [ElementRef,
16328
16352
  ChangeDetectorRef])
@@ -16523,7 +16547,7 @@ var GIPISelectButtonComponent = /** @class */ (function () {
16523
16547
  'class': 'gipi-select-button',
16524
16548
  },
16525
16549
  changeDetection: ChangeDetectionStrategy.OnPush,
16526
- styles: [".select-button-content{display:flex;flex-direction:column;gap:1rem}.select-button-content .label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.select-button-content .label>span{color:#d14014}.select-button-content .select-button{display:flex;flex-direction:row}.select-button-content .select-button .button{width:100%;padding:1.2rem 1.6rem;font-weight:700;font-size:1.3rem;line-height:100%;text-align:center;cursor:pointer;background-color:#fff;border:1px solid rgba(0,0,0,.12);color:#696969;height:4rem;display:flex;align-items:center;justify-content:center}.select-button-content .select-button .button:hover{background-color:#f5f5f6}.select-button-content .select-button .button:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}.select-button-content .select-button .button:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}.select-button-content .select-button .button.disabled{pointer-events:none!important;cursor:not-allowed!important;border-color:#e0e1e2!important;color:#d1d2d4!important}.select-button-content .select-button .button.disabled.selected{background-color:#e0e1e2!important}.select-button-content .select-button .button.button-primary.selected{background-color:#e0313e;border-color:#e0313e;color:#fff}.select-button-content .select-button .button.button-primary:hover.selected{background-color:#cc2d38}.select-button-content .select-button .button.button-secondary.selected{background-color:#9a9da2;border-color:#9a9da2;color:#fff}.select-button-content .select-button .button.button-secondary:hover.selected{background-color:#8c8f93}"]
16550
+ styles: [".select-button-content{display:flex;flex-direction:column;gap:1rem}.select-button-content .label{font-weight:400;font-size:1.4rem;line-height:100%;color:#131313}.select-button-content .label>span{color:#d14014}.select-button-content .select-button{display:flex;flex-direction:row}.select-button-content .select-button .button{width:100%;padding:1.2rem 1.6rem;font-weight:700;font-size:1.3rem;line-height:100%;text-align:center;cursor:pointer;background-color:#fff;border:1px solid #0000001f;color:#696969;height:4rem;display:flex;align-items:center;justify-content:center}.select-button-content .select-button .button:hover{background-color:#f5f5f6}.select-button-content .select-button .button:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}.select-button-content .select-button .button:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}.select-button-content .select-button .button.disabled{pointer-events:none!important;cursor:not-allowed!important;border-color:#e0e1e2!important;color:#d1d2d4!important}.select-button-content .select-button .button.disabled.selected{background-color:#e0e1e2!important}.select-button-content .select-button .button.button-primary.selected{background-color:#e0313e;border-color:#e0313e;color:#fff}.select-button-content .select-button .button.button-primary:hover.selected{background-color:#cc2d38}.select-button-content .select-button .button.button-secondary.selected{background-color:#9a9da2;border-color:#9a9da2;color:#fff}.select-button-content .select-button .button.button-secondary:hover.selected{background-color:#8c8f93}"]
16527
16551
  }),
16528
16552
  __metadata("design:paramtypes", [ElementRef,
16529
16553
  ChangeDetectorRef])
@@ -17569,7 +17593,7 @@ var GIPISplitButtonComponent = /** @class */ (function () {
17569
17593
  Component({
17570
17594
  selector: "gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],\n gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]",
17571
17595
  exportAs: 'gipiSplitButton',
17572
- 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>",
17596
+ template: "<div [matTooltip]=\"tooltip\"\n matTooltipClass=\"mattooltip-line-break\"\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>\n",
17573
17597
  providers: [
17574
17598
  {
17575
17599
  provide: NG_VALUE_ACCESSOR,
@@ -18477,6 +18501,9 @@ var GIPITabGroupComponent = /** @class */ (function () {
18477
18501
  return componentRef.instance;
18478
18502
  };
18479
18503
  GIPITabGroupComponent.prototype.selectTab = function (tab) {
18504
+ if (tab.disabled) {
18505
+ return;
18506
+ }
18480
18507
  this.tabQueryList.toArray().forEach(function (t) { return (t.active = false); });
18481
18508
  this.dynamicTabs.forEach(function (t) { return (t.active = false); });
18482
18509
  tab.active = true;
@@ -18557,7 +18584,7 @@ var GIPITabGroupComponent = /** @class */ (function () {
18557
18584
  '[attr.id]': 'id',
18558
18585
  '[attr.name]': 'name',
18559
18586
  },
18560
- 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}:host ::ng-deep .mat-tab-header-pagination{box-shadow:none!important}:host ::ng-deep .mat-tab-header-pagination.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#d1d2d4!important;cursor:not-allowed!important}:host ::ng-deep .mat-tab-header-pagination .mat-tab-header-pagination-chevron{border-color:#595959!important}:host ::ng-deep .mat-tab-header-pagination:hover{transform:scale(.98)!important}"]
18587
+ 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):not(.mat-tab-disabled):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.mat-tab-disabled,:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#d1d2d4!important;fill:#d1d2d4!important;text-decoration:line-through!important;pointer-events:all!important;cursor:not-allowed!important}:host ::ng-deep .mat-tab-link.mat-tab-disabled svg,:host ::ng-deep .mat-tab-link.mat-tab-disabled svg g path,:host ::ng-deep .mat-tab-link.mat-tab-disabled svg path,: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:#d1d2d4!important;fill:#d1d2d4!important}:host ::ng-deep .mat-ink-bar{display:none!important}:host ::ng-deep .mat-tab-header-pagination{box-shadow:none!important}:host ::ng-deep .mat-tab-header-pagination.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:#d1d2d4!important;cursor:not-allowed!important}:host ::ng-deep .mat-tab-header-pagination .mat-tab-header-pagination-chevron{border-color:#595959!important}:host ::ng-deep .mat-tab-header-pagination:hover{transform:scale(.98)!important}"]
18561
18588
  }),
18562
18589
  __metadata("design:paramtypes", [ElementRef,
18563
18590
  ComponentFactoryResolver])
@@ -18904,7 +18931,7 @@ var GIPITextareaComponent = /** @class */ (function () {
18904
18931
  'class': 'gipi-textarea',
18905
18932
  },
18906
18933
  changeDetection: ChangeDetectionStrategy.OnPush,
18907
- styles: [":host{display:flex;min-width:0;max-width:100%;flex:1;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;caret-color:#696969;max-height:12rem;min-height:6rem;resize:vertical;outline:0;overflow:auto}:host .textarea-element:not(:disabled):hover{border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:hover,:host .textarea-element:not(:disabled):invalid:enabled:hover{border-color:#e07f62}:host .textarea-element:not(:disabled):enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled,:host .textarea-element:not(:disabled):invalid:enabled{border-color:#d14014}:host .textarea-element:not(:disabled).ng-dirty.ng-invalid:enabled:focus,:host .textarea-element:not(:disabled):invalid:enabled:focus{outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #f1c4b6;border-color:#d14014}:host .textarea-element:disabled{color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}:host .textarea-element.resize-none{resize:none}:host .textarea-element.resize-both{resize:both}:host .textarea-element.resize-horizontal{resize:horizontal}:host .textarea-element.resize-vertical{resize:vertical}:host .textarea-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
18934
+ styles: [":host{display:flex;min-width:0;max-width:100%;flex:1;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}:host .textarea-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}:host .textarea-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}:host .textarea-element{display:flex;font-family:inherit;font-size:inherit;color:inherit;padding:.75rem .8rem;background:#fff;border:1px solid #0000001f;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}"]
18908
18935
  }),
18909
18936
  __metadata("design:paramtypes", [ElementRef,
18910
18937
  ChangeDetectorRef])
@@ -23366,7 +23393,7 @@ var MatDateRangeInput = /** @class */ (function () {
23366
23393
  { provide: MatFormFieldControl, useExisting: MatDateRangeInput_1 },
23367
23394
  { provide: MAT_DATE_RANGE_INPUT_PARENT, useExisting: MatDateRangeInput_1 },
23368
23395
  ],
23369
- styles: [".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center;padding-bottom:3px}.mat-date-range-input-separator{transition:opacity .4s cubic-bezier(.25,.8,.25,1) .133s;margin:0 4px}.mat-date-range-input-separator-hidden{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0;transition:none}.mat-date-range-input-inner{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;vertical-align:bottom;text-align:inherit;-webkit-appearance:none;width:100%}.mat-date-range-input-inner::-ms-clear,.mat-date-range-input-inner::-ms-reveal{display:none}.mat-date-range-input-inner:-moz-ui-invalid{box-shadow:none}.mat-date-range-input-inner::-ms-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::-moz-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner:-ms-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-ms-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}"]
23396
+ styles: [".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center;padding-bottom:3px}.mat-date-range-input-separator{transition:opacity .4s cubic-bezier(.25,.8,.25,1) .133s;margin:0 4px}.mat-date-range-input-separator-hidden{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0;transition:none}.mat-date-range-input-inner{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;vertical-align:bottom;text-align:inherit;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none}.mat-date-range-input-inner::-ms-clear,.mat-date-range-input-inner::-ms-reveal{display:none}.mat-date-range-input-inner:-moz-ui-invalid{box-shadow:none}.mat-date-range-input-inner::-ms-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::-moz-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-inner:-ms-input-placeholder{transition:color .4s cubic-bezier(.25,.8,.25,1) .133s}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-ms-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder,.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}"]
23370
23397
  }),
23371
23398
  __param(2, Optional()), __param(2, Self()),
23372
23399
  __param(3, Optional()),
@@ -24245,7 +24272,7 @@ var DateRangePickerComponent = /** @class */ (function () {
24245
24272
  host: {
24246
24273
  'class': 'gipi-date-range-picker',
24247
24274
  },
24248
- styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .mat-date-range-input{height:4rem!important;padding-left:.8rem!important}::ng-deep .mat-date-range-input-container,::ng-deep .mat-date-range-input-end-wrapper,::ng-deep .mat-date-range-input-inner,::ng-deep .mat-date-range-input-start-wrapper{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:100%;height:100%;padding-bottom:3px}::ng-deep .mat-date-range-input-end-wrapper{padding-bottom:0!important}::ng-deep .mat-date-range-input-inner{padding:0!important}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
24275
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid #0000001f;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .mat-date-range-input{height:4rem!important;padding-left:.8rem!important}::ng-deep .mat-date-range-input-container,::ng-deep .mat-date-range-input-end-wrapper,::ng-deep .mat-date-range-input-inner,::ng-deep .mat-date-range-input-start-wrapper{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:100%;height:100%;padding-bottom:3px}::ng-deep .mat-date-range-input-end-wrapper{padding-bottom:0!important}::ng-deep .mat-date-range-input-inner{padding:0!important}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
24249
24276
  }),
24250
24277
  __metadata("design:paramtypes", [ElementRef,
24251
24278
  ChangeDetectorRef])
@@ -24845,7 +24872,7 @@ var DatepickerComponent = /** @class */ (function () {
24845
24872
  host: {
24846
24873
  'class': 'gipi-datepicker',
24847
24874
  },
24848
- styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
24875
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid #0000001f;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
24849
24876
  }),
24850
24877
  __metadata("design:paramtypes", [ElementRef,
24851
24878
  ChangeDetectorRef])
@@ -24952,130 +24979,3375 @@ var DatepickerModule = /** @class */ (function () {
24952
24979
  return DatepickerModule;
24953
24980
  }());
24954
24981
 
24955
- var moment$4 = moment_;
24956
- var CalendarMonthYearComponent = /** @class */ (function () {
24957
- function CalendarMonthYearComponent(_changeDetectorRef) {
24958
- this._changeDetectorRef = _changeDetectorRef;
24959
- this._subscriptions = new Subscription();
24960
- this._animationState = 'enter';
24961
- this._animationDone = new Subject();
24962
- this.years = [];
24963
- this.months = [];
24964
- this._calendarView = 'both';
24982
+ /**
24983
+ * This animation fades in the background color and text content of the
24984
+ * select's options. It is time delayed to occur 100ms after the overlay
24985
+ * panel has transformed in.
24986
+ */
24987
+ var fadeInContent = trigger('fadeInContent', [
24988
+ state('showing', style({ opacity: 1 })),
24989
+ transition('void => showing', [
24990
+ style({ opacity: 0 }),
24991
+ animate("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"),
24992
+ ]),
24993
+ ]);
24994
+ var slideCalendar = trigger('slideCalendar', [
24995
+ transition('* => left', [
24996
+ animate(180, keyframes([
24997
+ style({ transform: 'translateX(100%)', offset: 0.5 }),
24998
+ style({ transform: 'translateX(-100%)', offset: 0.51 }),
24999
+ style({ transform: 'translateX(0)', offset: 1 }),
25000
+ ])),
25001
+ ]),
25002
+ transition('* => right', [
25003
+ animate(180, keyframes([
25004
+ style({ transform: 'translateX(-100%)', offset: 0.5 }),
25005
+ style({ transform: 'translateX(100%)', offset: 0.51 }),
25006
+ style({ transform: 'translateX(0)', offset: 1 }),
25007
+ ])),
25008
+ ]),
25009
+ ]);
25010
+
25011
+ /** @docs-private */
25012
+ function createMissingDateImplError$1(provider) {
25013
+ return Error("GIPIDatetimepickerComponent: No provider found for " + provider + ". You must import one of the following " +
25014
+ "modules at your application root: GIPINativeDatetimeModule, GIPIMomentDatetimeModule, or provide a " +
25015
+ "custom implementation.");
25016
+ }
25017
+
25018
+ var GIPIDatetimepickerFilterType;
25019
+ (function (GIPIDatetimepickerFilterType) {
25020
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["DATE"] = 0] = "DATE";
25021
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["HOUR"] = 1] = "HOUR";
25022
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["MINUTE"] = 2] = "MINUTE";
25023
+ })(GIPIDatetimepickerFilterType || (GIPIDatetimepickerFilterType = {}));
25024
+
25025
+ /**
25026
+ * An internal class that represents the data corresponding to a single calendar cell.
25027
+ * @docs-private
25028
+ */
25029
+ var GIPIDatetimepickerCalendarCell = /** @class */ (function () {
25030
+ function GIPIDatetimepickerCalendarCell(value, displayValue, ariaLabel, enabled) {
25031
+ this.value = value;
25032
+ this.displayValue = displayValue;
25033
+ this.ariaLabel = ariaLabel;
25034
+ this.enabled = enabled;
24965
25035
  }
24966
- CalendarMonthYearComponent_1 = CalendarMonthYearComponent;
24967
- CalendarMonthYearComponent.prototype.ngOnInit = function () {
24968
- if (this._locale) {
24969
- moment$4.locale(this._locale);
24970
- }
24971
- else {
24972
- moment$4.locale('pt-br');
25036
+ return GIPIDatetimepickerCalendarCell;
25037
+ }());
25038
+ /**
25039
+ * An internal component used to display calendar data in a table.
25040
+ * @docs-private
25041
+ */
25042
+ var GIPIDatetimepickerCalendarBodyComponent = /** @class */ (function () {
25043
+ function GIPIDatetimepickerCalendarBodyComponent() {
25044
+ /**
25045
+ * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be
25046
+ * maintained even as the table resizes.
25047
+ */
25048
+ this.cellAspectRatio = 1;
25049
+ /** The number of columns in the table. */
25050
+ this.numCols = 7;
25051
+ /** Whether to allow selection of disabled cells. */
25052
+ this.allowDisabledSelection = false;
25053
+ /** The cell number of the active cell in the table. */
25054
+ this.activeCell = 0;
25055
+ /** Emits when a new value is selected. */
25056
+ this.selectedValueChange = new EventEmitter();
25057
+ }
25058
+ GIPIDatetimepickerCalendarBodyComponent.prototype._cellClicked = function (cell) {
25059
+ if (!this.allowDisabledSelection && !cell.enabled) {
25060
+ return;
24973
25061
  }
24974
- this.months = __spread(this.monthYearPicker.model.months);
24975
- this._calendarView = this.monthYearPicker.calendarView;
24976
- if (this._calendarView === 'year') {
24977
- this.toggleShowYears();
25062
+ this.selectedValueChange.emit(cell.value);
25063
+ };
25064
+ GIPIDatetimepickerCalendarBodyComponent.prototype._isActiveCell = function (rowIndex, colIndex) {
25065
+ var cellNumber = rowIndex * this.numCols + colIndex;
25066
+ // Account for the fact that the first row may not have as many cells.
25067
+ if (rowIndex) {
25068
+ cellNumber -= this._firstRowOffset;
24978
25069
  }
24979
- this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
25070
+ return cellNumber === this.activeCell;
24980
25071
  };
24981
- CalendarMonthYearComponent.prototype.ngAfterViewInit = function () {
24982
- var _this = this;
24983
- if (this._changeDetectorRef) {
24984
- this._subscriptions.add(this.monthYearPicker._stateChanges.subscribe(function () {
24985
- _this._changeDetectorRef.markForCheck();
24986
- }));
25072
+ GIPIDatetimepickerCalendarBodyComponent.prototype.ngOnChanges = function (changes) {
25073
+ var columnChanges = changes['numCols'];
25074
+ var _a = this, rows = _a.rows, numCols = _a.numCols;
25075
+ if (changes['rows'] || columnChanges) {
25076
+ this._firstRowOffset = rows && rows.length && rows[0].length ? numCols - rows[0].length : 0;
25077
+ }
25078
+ if (changes['cellAspectRatio'] || columnChanges || !this._cellPadding) {
25079
+ this._cellPadding = 50 * this.cellAspectRatio / numCols + "%";
25080
+ }
25081
+ if (columnChanges || !this._cellWidth) {
25082
+ this._cellWidth = 100 / numCols + "%";
24987
25083
  }
24988
25084
  };
24989
- CalendarMonthYearComponent.prototype.ngOnDestroy = function () {
24990
- this._subscriptions.unsubscribe();
24991
- this._animationDone.complete();
25085
+ __decorate([
25086
+ Input(),
25087
+ __metadata("design:type", Number)
25088
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "cellAspectRatio", void 0);
25089
+ __decorate([
25090
+ Input(),
25091
+ __metadata("design:type", String)
25092
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "label", void 0);
25093
+ __decorate([
25094
+ Input(),
25095
+ __metadata("design:type", Array)
25096
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "rows", void 0);
25097
+ __decorate([
25098
+ Input(),
25099
+ __metadata("design:type", Number)
25100
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "todayValue", void 0);
25101
+ __decorate([
25102
+ Input(),
25103
+ __metadata("design:type", Number)
25104
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "selectedValue", void 0);
25105
+ __decorate([
25106
+ Input(),
25107
+ __metadata("design:type", Number)
25108
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "labelMinRequiredCells", void 0);
25109
+ __decorate([
25110
+ Input(),
25111
+ __metadata("design:type", Object)
25112
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "numCols", void 0);
25113
+ __decorate([
25114
+ Input(),
25115
+ __metadata("design:type", Object)
25116
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "allowDisabledSelection", void 0);
25117
+ __decorate([
25118
+ Input(),
25119
+ __metadata("design:type", Object)
25120
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "activeCell", void 0);
25121
+ __decorate([
25122
+ Output(),
25123
+ __metadata("design:type", Object)
25124
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "selectedValueChange", void 0);
25125
+ GIPIDatetimepickerCalendarBodyComponent = __decorate([
25126
+ Component({
25127
+ selector: 'tbody[gipiMatDatetimePickerCalendarBody]',
25128
+ template: "<!-- Se n\u00E3o houver espa\u00E7o suficiente na primeira linha, crie uma linha de r\u00F3tulo separada. Marcamos esta linha\ncomo aria-hidden porque n\u00E3o queremos que seja lido como uma das semanas do m\u00EAs. -->\n<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\"\n aria-hidden=\"true\">\n\n <td class=\"gipi-mat-datetime-picker-calendar-body-label\"\n [attr.colspan]=\"numCols\"\n [style.paddingTop]=\"_cellPadding\"\n [style.paddingBottom]=\"_cellPadding\">\n {{ label }}\n </td>\n\n</tr>\n\n<!-- Crie a primeira linha separadamente para que possamos incluir uma c\u00E9lula espa\u00E7adora especial. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\"\n role=\"row\">\n <!-- Marcamos esta c\u00E9lula como oculta por \u00E1ria para que n\u00E3o seja lida como um dos dias da semana. -->\n <td *ngIf=\"rowIndex === 0 && _firstRowOffset\"\n aria-hidden=\"true\"\n class=\"gipi-mat-datetime-picker-calendar-body-label\"\n [attr.colspan]=\"_firstRowOffset\"\n [style.paddingTop]=\"_cellPadding\"\n [style.paddingBottom]=\"_cellPadding\">\n {{ _firstRowOffset >= labelMinRequiredCells ? label : '' }}\n </td>\n\n <td *ngFor=\"let item of row; let colIndex = index\"\n role=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-body-cell\"\n [attr.aria-disabled]=\"!item.enabled || null\"\n [attr.aria-label]=\"item.ariaLabel\"\n [class.gipi-mat-datetime-picker-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\"\n [class.gipi-mat-datetime-picker-calendar-body-disabled]=\"!item.enabled\"\n (click)=\"_cellClicked(item)\"\n [style.width]=\"_cellWidth\"\n [style.paddingTop]=\"_cellPadding\"\n [style.paddingBottom]=\"_cellPadding\">\n\n <div class=\"gipi-mat-datetime-picker-calendar-body-cell-content\"\n [class.gipi-mat-datetime-picker-calendar-body-selected]=\"selectedValue === item.value\"\n [class.gipi-mat-datetime-picker-calendar-body-today]=\"todayValue === item.value\"\n [attr.aria-selected]=\"selectedValue === item.value\">\n {{ item.displayValue }}\n </div>\n\n </td>\n</tr>\n",
25129
+ encapsulation: ViewEncapsulation.None,
25130
+ changeDetection: ChangeDetectionStrategy.OnPush,
25131
+ host: {
25132
+ class: 'gipi-mat-datetime-picker-calendar-body',
25133
+ },
25134
+ styles: [".gipi-mat-datetime-picker-calendar-body{font-size:13px;min-width:224px}.gipi-mat-datetime-picker-calendar-body-label{padding:7.14286% 0 7.14286% 7.14286%;height:0;line-height:0;color:rgba(0,0,0,.54);transform:translateX(-6px);text-align:left}.gipi-mat-datetime-picker-calendar-body-cell{position:relative;width:14.28571%;height:0;line-height:0;padding:7.14286% 0;text-align:center;outline:0;cursor:pointer}.gipi-mat-datetime-picker-calendar-body-disabled{cursor:default;pointer-events:none}.gipi-mat-datetime-picker-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;color:rgba(0,0,0,.87);border:1px solid transparent;border-radius:50%}.gipi-mat-datetime-picker-calendar-body-disabled>.gipi-mat-datetime-picker-calendar-body-cell-content:not(.gipi-mat-datetime-picker-calendar-body-selected){color:rgba(0,0,0,.38)}.mat-calendar:focus .gipi-mat-datetime-picker-calendar-body-active>.gipi-mat-datetime-picker-calendar-body-cell-content:not(.gipi-mat-datetime-picker-calendar-body-selected),:not(.gipi-mat-datetime-picker-calendar-body-disabled):hover>.gipi-mat-datetime-picker-calendar-body-cell-content:not(.gipi-mat-datetime-picker-calendar-body-selected){background-color:rgba(0,0,0,.12)}.gipi-mat-datetime-picker-calendar-body-disabled>.gipi-mat-datetime-picker-calendar-body-today:not(.gipi-mat-datetime-picker-calendar-body-selected){border-color:rgba(0,0,0,.18)}[dir=rtl] .gipi-mat-datetime-picker-calendar-body-label{padding:0 7.14286% 0 0;transform:translateX(6px);text-align:right}"]
25135
+ })
25136
+ ], GIPIDatetimepickerCalendarBodyComponent);
25137
+ return GIPIDatetimepickerCalendarBodyComponent;
25138
+ }());
25139
+
25140
+ var GIPIDatetimeAdapter = /** @class */ (function (_super) {
25141
+ __extends(GIPIDatetimeAdapter, _super);
25142
+ function GIPIDatetimeAdapter(_delegate) {
25143
+ var _this = _super.call(this) || this;
25144
+ _this._delegate = _delegate;
25145
+ return _this;
25146
+ }
25147
+ GIPIDatetimeAdapter.prototype.getValidDateOrNull = function (obj) {
25148
+ return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;
24992
25149
  };
24993
- CalendarMonthYearComponent.prototype._startExitAnimation = function () {
24994
- this._animationState = 'void';
24995
- if (this._changeDetectorRef) {
24996
- this._changeDetectorRef.markForCheck();
24997
- }
25150
+ GIPIDatetimeAdapter.prototype.compareDatetime = function (first, second, respectMinutePart) {
25151
+ if (respectMinutePart === void 0) { respectMinutePart = true; }
25152
+ return (this.compareDate(first, second) ||
25153
+ this.getHour(first) - this.getHour(second) ||
25154
+ (respectMinutePart && this.getMinute(first) - this.getMinute(second)));
24998
25155
  };
24999
- CalendarMonthYearComponent.prototype.decrement = function () {
25000
- this.monthYearPicker.model.decrementYear();
25001
- if (this.isShowYears) {
25002
- this._renderYears();
25156
+ GIPIDatetimeAdapter.prototype.sameDatetime = function (first, second) {
25157
+ if (first && second) {
25158
+ var firstValid = this.isValid(first);
25159
+ var secondValid = this.isValid(second);
25160
+ if (firstValid && secondValid) {
25161
+ return !this.compareDatetime(first, second);
25162
+ }
25163
+ return firstValid === secondValid;
25003
25164
  }
25165
+ return first === second;
25004
25166
  };
25005
- CalendarMonthYearComponent.prototype.increment = function () {
25006
- this.monthYearPicker.model.incrementYear();
25007
- if (this.isShowYears) {
25008
- this._renderYears();
25009
- }
25167
+ GIPIDatetimeAdapter.prototype.sameYear = function (first, second) {
25168
+ return first && second && this.getYear(first) === this.getYear(second);
25010
25169
  };
25011
- CalendarMonthYearComponent.prototype.selectMonth = function (index) {
25012
- this.monthYearPicker.model.selectMonth(index);
25013
- this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
25014
- this.monthYearPicker.close();
25170
+ GIPIDatetimeAdapter.prototype.sameDay = function (first, second) {
25171
+ return (first &&
25172
+ second &&
25173
+ this.getDate(first) === this.getDate(second) &&
25174
+ this.sameMonthAndYear(first, second));
25015
25175
  };
25016
- CalendarMonthYearComponent.prototype.isSelectedMonth = function (monthIndex) {
25017
- return this.monthYearPicker.model.selectedMonthIndex == monthIndex && this.monthYearPicker.model.selectedMonthYear == this.monthYearPicker.model.selectedYearMoment.year();
25176
+ GIPIDatetimeAdapter.prototype.sameHour = function (first, second) {
25177
+ return (first &&
25178
+ second &&
25179
+ this.getHour(first) === this.getHour(second) &&
25180
+ this.sameDay(first, second));
25018
25181
  };
25019
- CalendarMonthYearComponent.prototype.isCurrentMonth = function (monthIndex) {
25020
- var currentMonth = moment$4().month();
25021
- var currentYear = moment$4().year();
25022
- return (monthIndex === currentMonth) && (this.monthYearPicker.model.selectedYearMoment.year() === currentYear);
25182
+ GIPIDatetimeAdapter.prototype.sameMinute = function (first, second) {
25183
+ return (first &&
25184
+ second &&
25185
+ this.getMinute(first) === this.getMinute(second) &&
25186
+ this.sameHour(first, second));
25023
25187
  };
25024
- CalendarMonthYearComponent.prototype.isDisabledMonth = function (index) {
25025
- var disabled = false;
25026
- if (!ObjectUtil.isNull(this.monthYearPicker)) {
25027
- var minMonth = !ObjectUtil.isNull(this.monthYearPicker.min) ? this.monthYearPicker.min.month : null;
25028
- var maxMonth = !ObjectUtil.isNull(this.monthYearPicker.max) ? this.monthYearPicker.max.month : null;
25029
- if (!ObjectUtil.isNull(minMonth) && !ObjectUtil.isNull(maxMonth)) {
25030
- disabled = index < minMonth || index > maxMonth;
25031
- }
25032
- else if (!ObjectUtil.isNull(minMonth)) {
25033
- disabled = index < minMonth;
25034
- }
25035
- else if (!ObjectUtil.isNull(maxMonth)) {
25036
- disabled = index > maxMonth;
25188
+ GIPIDatetimeAdapter.prototype.sameMonthAndYear = function (first, second) {
25189
+ if (first && second) {
25190
+ var firstValid = this.isValid(first);
25191
+ var secondValid = this.isValid(second);
25192
+ if (firstValid && secondValid) {
25193
+ return !(this.getYear(first) - this.getYear(second) ||
25194
+ this.getMonth(first) - this.getMonth(second));
25037
25195
  }
25196
+ return firstValid === secondValid;
25038
25197
  }
25039
- return disabled;
25040
- // let disabled = false;
25041
- // if (this._enabledMonths && this._enabledMonths.length > 0) {
25042
- // disabled = this._enabledMonths.indexOf(index) < 0;
25043
- // }
25044
- // if (this._disabledMonths && this._disabledMonths.length > 0) {
25045
- // disabled = this._disabledMonths.indexOf(index) >= 0;
25046
- // }
25047
- // return disabled;
25198
+ return first === second;
25048
25199
  };
25049
- /** Years */
25050
- CalendarMonthYearComponent.prototype.toggleShowYears = function () {
25051
- this.isShowYears = !this.isShowYears;
25052
- this._renderYears();
25200
+ // delegate
25201
+ GIPIDatetimeAdapter.prototype.deserialize = function (value) {
25202
+ return this._delegate.deserialize(value);
25053
25203
  };
25054
- CalendarMonthYearComponent.prototype._renderYears = function () {
25055
- this.years = [];
25056
- for (var i = 11; i > 0; i--) {
25057
- this.years.push(this.monthYearPicker.model.selectedYearMoment.year() - i);
25058
- }
25059
- for (var i = 0; i <= 12; i++) {
25060
- this.years.push(this.monthYearPicker.model.selectedYearMoment.year() + i);
25061
- }
25204
+ GIPIDatetimeAdapter.prototype.clone = function (date) {
25205
+ return this._delegate.clone(date);
25062
25206
  };
25063
- Object.defineProperty(CalendarMonthYearComponent.prototype, "periodButtonLabel", {
25064
- get: function () {
25065
- var formatYearRange = function (start, end) {
25066
- return start + " \u2013 " + end;
25067
- };
25068
- return this.isShowYears ? formatYearRange(this.years[0], this.years[this.years.length - 1]) : this.monthYearPicker.model.selectedYearText;
25069
- },
25070
- enumerable: false,
25071
- configurable: true
25072
- });
25073
- CalendarMonthYearComponent.prototype.selectYear = function (year) {
25074
- if (this._calendarView === 'both') {
25075
- this.isShowYears = false;
25076
- }
25077
- this.monthYearPicker.model.selectedYearMoment = moment$4().year(year);
25078
- this.monthYearPicker.model.updateYearText();
25207
+ GIPIDatetimeAdapter.prototype.addCalendarYears = function (date, years) {
25208
+ return this._delegate.addCalendarYears(date, years);
25209
+ };
25210
+ GIPIDatetimeAdapter.prototype.addCalendarMonths = function (date, months) {
25211
+ return this._delegate.addCalendarMonths(date, months);
25212
+ };
25213
+ GIPIDatetimeAdapter.prototype.addCalendarDays = function (date, days) {
25214
+ return this._delegate.addCalendarDays(date, days);
25215
+ };
25216
+ GIPIDatetimeAdapter.prototype.getYear = function (date) {
25217
+ return this._delegate.getYear(date);
25218
+ };
25219
+ GIPIDatetimeAdapter.prototype.getMonth = function (date) {
25220
+ return this._delegate.getMonth(date);
25221
+ };
25222
+ GIPIDatetimeAdapter.prototype.getDate = function (date) {
25223
+ return this._delegate.getDate(date);
25224
+ };
25225
+ GIPIDatetimeAdapter.prototype.getDayOfWeek = function (date) {
25226
+ return this._delegate.getDayOfWeek(date);
25227
+ };
25228
+ GIPIDatetimeAdapter.prototype.getMonthNames = function (style) {
25229
+ return this._delegate.getMonthNames(style);
25230
+ };
25231
+ GIPIDatetimeAdapter.prototype.getDateNames = function () {
25232
+ return this._delegate.getDateNames();
25233
+ };
25234
+ GIPIDatetimeAdapter.prototype.getDayOfWeekNames = function (style) {
25235
+ return this._delegate.getDayOfWeekNames(style);
25236
+ };
25237
+ GIPIDatetimeAdapter.prototype.getYearName = function (date) {
25238
+ return this._delegate.getYearName(date);
25239
+ };
25240
+ GIPIDatetimeAdapter.prototype.getFirstDayOfWeek = function () {
25241
+ return this._delegate.getFirstDayOfWeek();
25242
+ };
25243
+ GIPIDatetimeAdapter.prototype.getNumDaysInMonth = function (date) {
25244
+ return this._delegate.getNumDaysInMonth(date);
25245
+ };
25246
+ GIPIDatetimeAdapter.prototype.createDate = function (year, month, date) {
25247
+ return this._delegate.createDate(year, month, date);
25248
+ };
25249
+ GIPIDatetimeAdapter.prototype.today = function () {
25250
+ return this._delegate.today();
25251
+ };
25252
+ GIPIDatetimeAdapter.prototype.parse = function (value, parseFormat) {
25253
+ return this._delegate.parse(value, parseFormat);
25254
+ };
25255
+ GIPIDatetimeAdapter.prototype.format = function (date, displayFormat) {
25256
+ return this._delegate.format(date, displayFormat);
25257
+ };
25258
+ GIPIDatetimeAdapter.prototype.toIso8601 = function (date) {
25259
+ return this._delegate.toIso8601(date);
25260
+ };
25261
+ GIPIDatetimeAdapter.prototype.isDateInstance = function (obj) {
25262
+ return this._delegate.isDateInstance(obj);
25263
+ };
25264
+ GIPIDatetimeAdapter.prototype.isValid = function (date) {
25265
+ return this._delegate.isValid(date);
25266
+ };
25267
+ GIPIDatetimeAdapter.prototype.invalid = function () {
25268
+ return this._delegate.invalid();
25269
+ };
25270
+ GIPIDatetimeAdapter.prototype.clampDate = function (date, min, max) {
25271
+ if (min && this.compareDatetime(date, min) < 0) {
25272
+ return min;
25273
+ }
25274
+ if (max && this.compareDatetime(date, max) > 0) {
25275
+ return max;
25276
+ }
25277
+ return date;
25278
+ };
25279
+ return GIPIDatetimeAdapter;
25280
+ }(DateAdapter$1));
25281
+
25282
+ var yearsPerPage$2 = 24;
25283
+ var yearsPerRow$1 = 4;
25284
+ /**
25285
+ * An internal component used to display multiple years in the datepicker.
25286
+ * @docs-private
25287
+ */
25288
+ var GIPIDatetimepickerMultiYearViewComponent = /** @class */ (function () {
25289
+ function GIPIDatetimepickerMultiYearViewComponent(_adapter, _dateFormats) {
25290
+ this._adapter = _adapter;
25291
+ this._dateFormats = _dateFormats;
25292
+ this.type = 'date';
25293
+ /** Emits when a new month is selected. */
25294
+ this.selectedChange = new EventEmitter();
25295
+ this._userSelection = new EventEmitter();
25296
+ if (!this._adapter) {
25297
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
25298
+ }
25299
+ if (!this._dateFormats) {
25300
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
25301
+ }
25302
+ this._activeDate = this._adapter.today();
25303
+ }
25304
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "activeDate", {
25305
+ get: function () {
25306
+ return this._activeDate;
25307
+ },
25308
+ set: function (value) {
25309
+ var oldActiveDate = this._activeDate;
25310
+ this._activeDate = value || this._adapter.today();
25311
+ if (oldActiveDate && this._activeDate && !isSameMultiYearView$1(this._adapter, oldActiveDate, this._activeDate, this.minDate, this.maxDate)) {
25312
+ this._init();
25313
+ }
25314
+ },
25315
+ enumerable: false,
25316
+ configurable: true
25317
+ });
25318
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "selected", {
25319
+ get: function () {
25320
+ return this._selected;
25321
+ },
25322
+ set: function (value) {
25323
+ this._selected = value;
25324
+ this._selectedYear = this._selected && this._adapter.getYear(this._selected);
25325
+ },
25326
+ enumerable: false,
25327
+ configurable: true
25328
+ });
25329
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "minDate", {
25330
+ get: function () {
25331
+ return this._minDate;
25332
+ },
25333
+ set: function (value) {
25334
+ this._minDate = this._getValidDateOrNull(this._adapter.deserialize(value));
25335
+ },
25336
+ enumerable: false,
25337
+ configurable: true
25338
+ });
25339
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "maxDate", {
25340
+ get: function () {
25341
+ return this._maxDate;
25342
+ },
25343
+ set: function (value) {
25344
+ this._maxDate = this._getValidDateOrNull(this._adapter.deserialize(value));
25345
+ },
25346
+ enumerable: false,
25347
+ configurable: true
25348
+ });
25349
+ GIPIDatetimepickerMultiYearViewComponent.prototype.ngAfterContentInit = function () {
25350
+ this._init();
25351
+ };
25352
+ /** Handles when a new year is selected. */
25353
+ GIPIDatetimepickerMultiYearViewComponent.prototype._yearSelected = function (year) {
25354
+ var month = this._adapter.getMonth(this.activeDate);
25355
+ var normalizedDate = this._adapter.createDatetime(year, month, 1, 0, 0);
25356
+ this.selectedChange.emit(this._adapter.createDatetime(year, month, Math.min(this._adapter.getDate(this.activeDate), this._adapter.getNumDaysInMonth(normalizedDate)), this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate)));
25357
+ if (this.type === 'year') {
25358
+ this._userSelection.emit();
25359
+ }
25360
+ };
25361
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getActiveCell = function () {
25362
+ return getActiveOffset$1(this._adapter, this.activeDate, this.minDate, this.maxDate);
25363
+ };
25364
+ GIPIDatetimepickerMultiYearViewComponent.prototype._calendarStateDone = function () {
25365
+ this._calendarState = '';
25366
+ };
25367
+ /** Initializes this year view. */
25368
+ GIPIDatetimepickerMultiYearViewComponent.prototype._init = function () {
25369
+ var _this = this;
25370
+ this._todayYear = this._adapter.getYear(this._adapter.today());
25371
+ this._yearLabel = this._adapter.getYearName(this.activeDate);
25372
+ var activeYear = this._adapter.getYear(this.activeDate);
25373
+ var minYearOfPage = activeYear - getActiveOffset$1(this._adapter, this.activeDate, this.minDate, this.maxDate);
25374
+ this._years = [];
25375
+ for (var i = 0, row = []; i < yearsPerPage$2; i++) {
25376
+ row.push(minYearOfPage + i);
25377
+ if (row.length == yearsPerRow$1) {
25378
+ this._years.push(row.map(function (year) { return _this._createCellForYear(year); }));
25379
+ row = [];
25380
+ }
25381
+ }
25382
+ };
25383
+ /** Creates an GIPIDatetimepickerCalendarCell for the given year. */
25384
+ GIPIDatetimepickerMultiYearViewComponent.prototype._createCellForYear = function (year) {
25385
+ var yearName = this._adapter.getYearName(this._adapter.createDate(year, 0, 1));
25386
+ return new GIPIDatetimepickerCalendarCell(year, yearName, yearName, this._shouldEnableYear(year));
25387
+ };
25388
+ /** Whether the given year is enabled. */
25389
+ GIPIDatetimepickerMultiYearViewComponent.prototype._shouldEnableYear = function (year) {
25390
+ // disable if the year is greater than maxDate lower than minDate
25391
+ if (year === undefined ||
25392
+ year === null ||
25393
+ (this.maxDate && year > this._adapter.getYear(this.maxDate)) ||
25394
+ (this.minDate && year < this._adapter.getYear(this.minDate))) {
25395
+ return false;
25396
+ }
25397
+ // enable if it reaches here and there's no filter defined
25398
+ if (!this.dateFilter) {
25399
+ return true;
25400
+ }
25401
+ var firstOfYear = this._adapter.createDate(year, 0, 1);
25402
+ // If any date in the year is enabled count the year as enabled.
25403
+ for (var date = firstOfYear; this._adapter.getYear(date) == year; date = this._adapter.addCalendarDays(date, 1)) {
25404
+ if (this.dateFilter(date)) {
25405
+ return true;
25406
+ }
25407
+ }
25408
+ return false;
25409
+ };
25410
+ /**
25411
+ * Gets the year in this years range that the given Date falls on.
25412
+ * Returns null if the given Date is not in this range.
25413
+ */
25414
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getYearInCurrentRange = function (date) {
25415
+ var year = this._adapter.getYear(date);
25416
+ return this._isInRange(year) ? year : null;
25417
+ };
25418
+ /**
25419
+ * Validate if the current year is in the current range
25420
+ * Returns true if is in range else returns false
25421
+ */
25422
+ GIPIDatetimepickerMultiYearViewComponent.prototype._isInRange = function (year) {
25423
+ return true;
25424
+ };
25425
+ /**
25426
+ * @param obj The object to check.
25427
+ * @returns The given object if it is both a date instance and valid, otherwise null.
25428
+ */
25429
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getValidDateOrNull = function (obj) {
25430
+ return this._adapter.isDateInstance(obj) && this._adapter.isValid(obj) ? obj : null;
25431
+ };
25432
+ GIPIDatetimepickerMultiYearViewComponent.ctorParameters = function () { return [
25433
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
25434
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] }
25435
+ ]; };
25436
+ __decorate([
25437
+ Input(),
25438
+ __metadata("design:type", String)
25439
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "type", void 0);
25440
+ __decorate([
25441
+ Input(),
25442
+ __metadata("design:type", Function)
25443
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "dateFilter", void 0);
25444
+ __decorate([
25445
+ Input(),
25446
+ __metadata("design:type", Object),
25447
+ __metadata("design:paramtypes", [Object])
25448
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "activeDate", null);
25449
+ __decorate([
25450
+ Input(),
25451
+ __metadata("design:type", Object),
25452
+ __metadata("design:paramtypes", [Object])
25453
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "selected", null);
25454
+ __decorate([
25455
+ Input(),
25456
+ __metadata("design:type", Object),
25457
+ __metadata("design:paramtypes", [Object])
25458
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "minDate", null);
25459
+ __decorate([
25460
+ Input(),
25461
+ __metadata("design:type", Object),
25462
+ __metadata("design:paramtypes", [Object])
25463
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "maxDate", null);
25464
+ __decorate([
25465
+ Output(),
25466
+ __metadata("design:type", Object)
25467
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "selectedChange", void 0);
25468
+ __decorate([
25469
+ Output(),
25470
+ __metadata("design:type", Object)
25471
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "_userSelection", void 0);
25472
+ GIPIDatetimepickerMultiYearViewComponent = __decorate([
25473
+ Component({
25474
+ selector: 'gipi-mat-datetime-picker-multi-year-view',
25475
+ template: "<table class=\"gipi-mat-datetime-picker-calendar-table\">\n <thead class=\"gipi-mat-datetime-picker-calendar-table-header\">\n <tr>\n <th class=\"gipi-mat-datetime-picker-calendar-table-header-divider\"\n colspan=\"4\">\n </th>\n </tr>\n </thead>\n <tbody gipiMatDatetimePickerCalendarBody\n role=\"grid\"\n allowDisabledSelection=\"true\"\n [cellAspectRatio]=\"4 / 7\"\n [numCols]=\"4\"\n [rows]=\"_years\"\n [activeCell]=\"_getActiveCell()\"\n [selectedValue]=\"_selectedYear\"\n [todayValue]=\"_todayYear\"\n [@slideCalendar]=\"_calendarState\"\n (@slideCalendar.done)=\"_calendarStateDone()\"\n (selectedValueChange)=\"_yearSelected($event)\">\n </tbody>\n</table>",
25476
+ animations: [slideCalendar],
25477
+ encapsulation: ViewEncapsulation.None,
25478
+ changeDetection: ChangeDetectionStrategy.OnPush
25479
+ }),
25480
+ __param(0, Optional()),
25481
+ __param(1, Optional()),
25482
+ __param(1, Inject(GIPI_DATETIME_FORMATS)),
25483
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
25484
+ ], GIPIDatetimepickerMultiYearViewComponent);
25485
+ return GIPIDatetimepickerMultiYearViewComponent;
25486
+ }());
25487
+ function isSameMultiYearView$1(dateAdapter, date1, date2, minDate, maxDate) {
25488
+ var year1 = dateAdapter.getYear(date1);
25489
+ var year2 = dateAdapter.getYear(date2);
25490
+ var startingYear = getStartingYear$1(dateAdapter, minDate, maxDate);
25491
+ return (Math.floor((year1 - startingYear) / yearsPerPage$2) === Math.floor((year2 - startingYear) / yearsPerPage$2));
25492
+ }
25493
+ /**
25494
+ * When the multi-year view is first opened, the active year will be in view.
25495
+ * So we compute how many years are between the active year and the *slot* where our
25496
+ * "startingYear" will render when paged into view.
25497
+ */
25498
+ function getActiveOffset$1(dateAdapter, activeDate, minDate, maxDate) {
25499
+ var activeYear = dateAdapter.getYear(activeDate);
25500
+ return euclideanModulo$1(activeYear - getStartingYear$1(dateAdapter, minDate, maxDate), yearsPerPage$2);
25501
+ }
25502
+ /**
25503
+ * We pick a "starting" year such that either the maximum year would be at the end
25504
+ * or the minimum year would be at the beginning of a page.
25505
+ */
25506
+ function getStartingYear$1(dateAdapter, minDate, maxDate) {
25507
+ var startingYear = 0;
25508
+ if (maxDate) {
25509
+ var maxYear = dateAdapter.getYear(maxDate);
25510
+ startingYear = maxYear - yearsPerPage$2 + 1;
25511
+ }
25512
+ else if (minDate) {
25513
+ startingYear = dateAdapter.getYear(minDate);
25514
+ }
25515
+ return startingYear;
25516
+ }
25517
+ /** Gets remainder that is non-negative, even if first number is negative */
25518
+ function euclideanModulo$1(a, b) {
25519
+ return ((a % b) + b) % b;
25520
+ }
25521
+
25522
+ /**
25523
+ * A calendar that is used as part of the datepicker.
25524
+ * @docs-private
25525
+ */
25526
+ var GIPIDatetimepickerCalendarComponent = /** @class */ (function () {
25527
+ function GIPIDatetimepickerCalendarComponent(_elementRef, _intl, _ngZone, _adapter, _dateFormats, changeDetectorRef) {
25528
+ var _this = this;
25529
+ this._elementRef = _elementRef;
25530
+ this._intl = _intl;
25531
+ this._ngZone = _ngZone;
25532
+ this._adapter = _adapter;
25533
+ this._dateFormats = _dateFormats;
25534
+ this._clockView = 'hour';
25535
+ /** Active multi year view when click on year. */
25536
+ this.multiYearSelector = true;
25537
+ /** Whether the calendar should be started in month or year view. */
25538
+ this.startView = 'month';
25539
+ this.twelvehour = false;
25540
+ this.timeInterval = 1;
25541
+ this.ariaLabel = 'Use arrow keys to navigate';
25542
+ this.ariaNextMonthLabel = 'Next month';
25543
+ this.ariaPrevMonthLabel = 'Previous month';
25544
+ this.ariaNextYearLabel = 'Next year';
25545
+ this.ariaPrevYearLabel = 'Previous year';
25546
+ this.ariaNextMultiYearLabel = 'Next year range';
25547
+ this.ariaPrevMultiYearLabel = 'Previous year range';
25548
+ /** Prevent user to select same date time */
25549
+ this.preventSameDateTimeSelection = false;
25550
+ this._type = 'date';
25551
+ /** Emits when the currently selected date changes. */
25552
+ this.selectedChange = new EventEmitter();
25553
+ /** Emits when the view has been changed. **/
25554
+ this.viewChanged = new EventEmitter();
25555
+ this._userSelection = new EventEmitter();
25556
+ /** Date filter for the month and year views. */
25557
+ this._dateFilterForViews = function (date) {
25558
+ return (!!date &&
25559
+ (!_this.dateFilter || _this.dateFilter(date, GIPIDatetimepickerFilterType.DATE)) &&
25560
+ (!_this.minDate || _this._adapter.compareDate(date, _this.minDate) >= 0) &&
25561
+ (!_this.maxDate || _this._adapter.compareDate(date, _this.maxDate) <= 0));
25562
+ };
25563
+ if (!this._adapter) {
25564
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
25565
+ }
25566
+ if (!this._dateFormats) {
25567
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
25568
+ }
25569
+ this._intlChanges = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
25570
+ }
25571
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "type", {
25572
+ get: function () {
25573
+ return this._type;
25574
+ },
25575
+ set: function (value) {
25576
+ this._type = value || 'date';
25577
+ if (this.type === 'year') {
25578
+ this.multiYearSelector = true;
25579
+ }
25580
+ },
25581
+ enumerable: false,
25582
+ configurable: true
25583
+ });
25584
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "startAt", {
25585
+ get: function () {
25586
+ return this._startAt;
25587
+ },
25588
+ set: function (value) {
25589
+ this._startAt = this._adapter.getValidDateOrNull(value);
25590
+ },
25591
+ enumerable: false,
25592
+ configurable: true
25593
+ });
25594
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "selected", {
25595
+ get: function () {
25596
+ return this._selected;
25597
+ },
25598
+ set: function (value) {
25599
+ this._selected = this._adapter.getValidDateOrNull(value);
25600
+ },
25601
+ enumerable: false,
25602
+ configurable: true
25603
+ });
25604
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "minDate", {
25605
+ get: function () {
25606
+ return this._minDate;
25607
+ },
25608
+ set: function (value) {
25609
+ this._minDate = this._adapter.getValidDateOrNull(value);
25610
+ },
25611
+ enumerable: false,
25612
+ configurable: true
25613
+ });
25614
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "maxDate", {
25615
+ get: function () {
25616
+ return this._maxDate;
25617
+ },
25618
+ set: function (value) {
25619
+ this._maxDate = this._adapter.getValidDateOrNull(value);
25620
+ },
25621
+ enumerable: false,
25622
+ configurable: true
25623
+ });
25624
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_activeDate", {
25625
+ /** The current active date. This determines which time period is shown and which date is highlighted when using keyboard navigation. */
25626
+ get: function () {
25627
+ return this._clampedActiveDate;
25628
+ },
25629
+ set: function (value) {
25630
+ var oldActiveDate = this._clampedActiveDate;
25631
+ this._clampedActiveDate = this._adapter.clampDate(value, this.minDate, this.maxDate);
25632
+ if (oldActiveDate &&
25633
+ this._clampedActiveDate &&
25634
+ this.currentView === 'month' &&
25635
+ !this._adapter.sameMonthAndYear(oldActiveDate, this._clampedActiveDate)) {
25636
+ if (this._adapter.isInNextMonth(oldActiveDate, this._clampedActiveDate)) {
25637
+ this.calendarState('right');
25638
+ }
25639
+ else {
25640
+ this.calendarState('left');
25641
+ }
25642
+ }
25643
+ },
25644
+ enumerable: false,
25645
+ configurable: true
25646
+ });
25647
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "currentView", {
25648
+ get: function () {
25649
+ return this._currentView;
25650
+ },
25651
+ set: function (view) {
25652
+ this._currentView = view;
25653
+ this.viewChanged.emit(view);
25654
+ },
25655
+ enumerable: false,
25656
+ configurable: true
25657
+ });
25658
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_yearLabel", {
25659
+ /** The label for the current calendar view. */
25660
+ get: function () {
25661
+ return this._adapter.getYearName(this._activeDate);
25662
+ },
25663
+ enumerable: false,
25664
+ configurable: true
25665
+ });
25666
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_monthYearLabel", {
25667
+ get: function () {
25668
+ if (this.currentView === 'multi-year') {
25669
+ // The offset from the active year to the "slot" for the starting year is the
25670
+ // *actual* first rendered year in the multi-year view, and the last year is
25671
+ // just yearsPerPage - 1 away.
25672
+ var activeYear = this._adapter.getYear(this._activeDate);
25673
+ var minYearOfPage = activeYear - getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate);
25674
+ var maxYearOfPage = minYearOfPage + yearsPerPage$2 - 1;
25675
+ var minYearName = this._adapter.getYearName(this._adapter.createDate(minYearOfPage, 0, 1));
25676
+ var maxYearName = this._adapter.getYearName(this._adapter.createDate(maxYearOfPage, 0, 1));
25677
+ return this._intl.formatYearRange(minYearName, maxYearName);
25678
+ }
25679
+ return this.currentView === 'month'
25680
+ ? this._adapter.getMonthNames('long')[this._adapter.getMonth(this._activeDate)]
25681
+ : this._adapter.getYearName(this._activeDate);
25682
+ },
25683
+ enumerable: false,
25684
+ configurable: true
25685
+ });
25686
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_dateLabel", {
25687
+ get: function () {
25688
+ switch (this.type) {
25689
+ case 'month': return this._adapter.getMonthNames('long')[this._adapter.getMonth(this._activeDate)];
25690
+ default: return this._adapter.format(this._activeDate, this._dateFormats.display.popupHeaderDateLabel);
25691
+ }
25692
+ },
25693
+ enumerable: false,
25694
+ configurable: true
25695
+ });
25696
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "periodButtonLabel", {
25697
+ get: function () {
25698
+ return this.currentView == 'month' ? this._intl.switchToMultiYearViewLabel : this._intl.switchToMonthViewLabel;
25699
+ },
25700
+ enumerable: false,
25701
+ configurable: true
25702
+ });
25703
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "prevButtonLabel", {
25704
+ /** The label for the previous button. */
25705
+ get: function () {
25706
+ return {
25707
+ 'month': this._intl.prevMonthLabel,
25708
+ 'year': this._intl.prevYearLabel,
25709
+ 'multi-year': this._intl.prevMultiYearLabel
25710
+ }[this.currentView];
25711
+ },
25712
+ enumerable: false,
25713
+ configurable: true
25714
+ });
25715
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "nextButtonLabel", {
25716
+ /** The label for the next button. */
25717
+ get: function () {
25718
+ return {
25719
+ 'month': this._intl.nextMonthLabel,
25720
+ 'year': this._intl.nextYearLabel,
25721
+ 'multi-year': this._intl.nextMultiYearLabel
25722
+ }[this.currentView];
25723
+ },
25724
+ enumerable: false,
25725
+ configurable: true
25726
+ });
25727
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_hoursLabel", {
25728
+ get: function () {
25729
+ var hour = this._adapter.getHour(this._activeDate);
25730
+ if (!!this.twelvehour) {
25731
+ if (hour === 0) {
25732
+ hour = 24;
25733
+ }
25734
+ hour = hour > 12 ? hour - 12 : hour;
25735
+ }
25736
+ return this._2digit(hour);
25737
+ },
25738
+ enumerable: false,
25739
+ configurable: true
25740
+ });
25741
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_minutesLabel", {
25742
+ get: function () {
25743
+ return this._2digit(this._adapter.getMinute(this._activeDate));
25744
+ },
25745
+ enumerable: false,
25746
+ configurable: true
25747
+ });
25748
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_ariaLabelNext", {
25749
+ get: function () {
25750
+ switch (this._currentView) {
25751
+ case 'month': return this.ariaNextMonthLabel;
25752
+ case 'year': return this.ariaNextYearLabel;
25753
+ case 'multi-year': return this.ariaNextMultiYearLabel;
25754
+ default: return '';
25755
+ }
25756
+ },
25757
+ enumerable: false,
25758
+ configurable: true
25759
+ });
25760
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_ariaLabelPrev", {
25761
+ get: function () {
25762
+ switch (this._currentView) {
25763
+ case 'month': return this.ariaPrevMonthLabel;
25764
+ case 'year': return this.ariaPrevYearLabel;
25765
+ case 'multi-year': return this.ariaPrevMultiYearLabel;
25766
+ default: return '';
25767
+ }
25768
+ },
25769
+ enumerable: false,
25770
+ configurable: true
25771
+ });
25772
+ GIPIDatetimepickerCalendarComponent.prototype.ngAfterContentInit = function () {
25773
+ this._activeDate = this.startAt || this._adapter.today();
25774
+ this._selectAMPM(this._activeDate);
25775
+ this._focusActiveCell();
25776
+ if (this.type === 'year') {
25777
+ this.currentView = 'multi-year';
25778
+ }
25779
+ else if (this.type === 'month') {
25780
+ this.currentView = 'year';
25781
+ }
25782
+ else if (this.type === 'time') {
25783
+ this.currentView = 'clock';
25784
+ }
25785
+ else {
25786
+ this.currentView = this.startView || 'month';
25787
+ }
25788
+ };
25789
+ GIPIDatetimepickerCalendarComponent.prototype.ngOnDestroy = function () {
25790
+ this._intlChanges.unsubscribe();
25791
+ };
25792
+ GIPIDatetimepickerCalendarComponent.prototype._userSelected = function () {
25793
+ this._userSelection.emit();
25794
+ };
25795
+ /** Handles date selection in the month view. */
25796
+ GIPIDatetimepickerCalendarComponent.prototype._dateSelected = function (date) {
25797
+ if (this.type === 'date') {
25798
+ if (!this._adapter.sameDate(date, this.selected) ||
25799
+ !this.preventSameDateTimeSelection) {
25800
+ this.selectedChange.emit(date);
25801
+ }
25802
+ }
25803
+ else {
25804
+ this._activeDate = date;
25805
+ this.currentView = 'clock';
25806
+ }
25807
+ };
25808
+ /** Handles month selection in the year view. */
25809
+ GIPIDatetimepickerCalendarComponent.prototype._monthSelected = function (month) {
25810
+ if (this.type === 'month') {
25811
+ if (!this._adapter.sameMonthAndYear(month, this.selected) ||
25812
+ !this.preventSameDateTimeSelection) {
25813
+ this.selectedChange.emit(this._adapter.getFirstDateOfMonth(month));
25814
+ }
25815
+ }
25816
+ else {
25817
+ this._activeDate = month;
25818
+ this.currentView = 'month';
25819
+ this._clockView = 'hour';
25820
+ }
25821
+ };
25822
+ /** Handles year selection in the multi year view. */
25823
+ GIPIDatetimepickerCalendarComponent.prototype._yearSelected = function (year) {
25824
+ if (this.type === 'year') {
25825
+ if (!this._adapter.sameYear(year, this.selected) ||
25826
+ !this.preventSameDateTimeSelection) {
25827
+ var normalizedDate = this._adapter.createDatetime(this._adapter.getYear(year), 0, 1, 0, 0);
25828
+ this.selectedChange.emit(normalizedDate);
25829
+ }
25830
+ }
25831
+ else {
25832
+ this._activeDate = year;
25833
+ this.currentView = 'year';
25834
+ }
25835
+ };
25836
+ GIPIDatetimepickerCalendarComponent.prototype._timeSelected = function (date) {
25837
+ if (this._clockView !== 'minute') {
25838
+ this._activeDate = this._updateDate(date);
25839
+ this._clockView = 'minute';
25840
+ }
25841
+ else {
25842
+ if (!this._adapter.sameDatetime(date, this.selected) ||
25843
+ !this.preventSameDateTimeSelection) {
25844
+ this.selectedChange.emit(date);
25845
+ }
25846
+ }
25847
+ };
25848
+ GIPIDatetimepickerCalendarComponent.prototype._onActiveDateChange = function (date) {
25849
+ this._activeDate = date;
25850
+ };
25851
+ GIPIDatetimepickerCalendarComponent.prototype._updateDate = function (date) {
25852
+ if (!!this.twelvehour) {
25853
+ var HOUR = this._adapter.getHour(date);
25854
+ if (HOUR === 12) {
25855
+ if (this._AMPM === 'AM') {
25856
+ return this._adapter.addCalendarHours(date, -12);
25857
+ }
25858
+ }
25859
+ else if (this._AMPM === 'PM') {
25860
+ return this._adapter.addCalendarHours(date, 12);
25861
+ }
25862
+ }
25863
+ return date;
25864
+ };
25865
+ GIPIDatetimepickerCalendarComponent.prototype._selectAMPM = function (date) {
25866
+ if (this._adapter.getHour(date) > 11) {
25867
+ this._AMPM = 'PM';
25868
+ }
25869
+ else {
25870
+ this._AMPM = 'AM';
25871
+ }
25872
+ };
25873
+ GIPIDatetimepickerCalendarComponent.prototype._ampmClicked = function (source) {
25874
+ if (source === this._AMPM) {
25875
+ return;
25876
+ }
25877
+ this._AMPM = source;
25878
+ if (this._AMPM === 'AM') {
25879
+ this._activeDate = this._adapter.addCalendarHours(this._activeDate, -12);
25880
+ }
25881
+ else {
25882
+ this._activeDate = this._adapter.addCalendarHours(this._activeDate, 12);
25883
+ }
25884
+ };
25885
+ GIPIDatetimepickerCalendarComponent.prototype._yearClicked = function () {
25886
+ if (this.type === 'year' || this.multiYearSelector) {
25887
+ this.currentView = 'multi-year';
25888
+ return;
25889
+ }
25890
+ this.currentView = 'year';
25891
+ };
25892
+ GIPIDatetimepickerCalendarComponent.prototype._dateClicked = function () {
25893
+ if (this.type !== 'month') {
25894
+ this.currentView = 'month';
25895
+ }
25896
+ };
25897
+ GIPIDatetimepickerCalendarComponent.prototype._hoursClicked = function () {
25898
+ this.currentView = 'clock';
25899
+ this._clockView = 'hour';
25900
+ };
25901
+ GIPIDatetimepickerCalendarComponent.prototype._minutesClicked = function () {
25902
+ this.currentView = 'clock';
25903
+ this._clockView = 'minute';
25904
+ };
25905
+ /** Handles user clicks on the previous button. */
25906
+ GIPIDatetimepickerCalendarComponent.prototype._previousClicked = function () {
25907
+ this._activeDate = this.currentView === 'month'
25908
+ ? this._adapter.addCalendarMonths(this._activeDate, -1)
25909
+ : this._adapter.addCalendarYears(this._activeDate, this.currentView === 'year' ? -1 : -yearsPerPage$2);
25910
+ };
25911
+ /** Handles user clicks on the next button. */
25912
+ GIPIDatetimepickerCalendarComponent.prototype._nextClicked = function () {
25913
+ this._activeDate = (this.currentView === 'month')
25914
+ ? this._adapter.addCalendarMonths(this._activeDate, 1)
25915
+ : this._adapter.addCalendarYears(this._activeDate, this.currentView === 'year' ? 1 : yearsPerPage$2);
25916
+ };
25917
+ /** Whether the previous period button is enabled. */
25918
+ GIPIDatetimepickerCalendarComponent.prototype._previousEnabled = function () {
25919
+ if (!this.minDate) {
25920
+ return true;
25921
+ }
25922
+ return !this.minDate || !this._isSameView(this._activeDate, this.minDate);
25923
+ };
25924
+ /** Whether the next period button is enabled. */
25925
+ GIPIDatetimepickerCalendarComponent.prototype._nextEnabled = function () {
25926
+ return !this.maxDate || !this._isSameView(this._activeDate, this.maxDate);
25927
+ };
25928
+ /** Handles keydown events on the calendar body. */
25929
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydown = function (event) {
25930
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
25931
+ // disabled ones from being selected. This may not be ideal, we should look into whether
25932
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
25933
+ if (this.currentView === 'month') {
25934
+ this._handleCalendarBodyKeydownInMonthView(event);
25935
+ }
25936
+ else if (this.currentView === 'year') {
25937
+ this._handleCalendarBodyKeydownInYearView(event);
25938
+ }
25939
+ else if (this.currentView === 'multi-year') {
25940
+ this._handleCalendarBodyKeydownInMultiYearView(event);
25941
+ }
25942
+ else {
25943
+ this._handleCalendarBodyKeydownInClockView(event);
25944
+ }
25945
+ };
25946
+ GIPIDatetimepickerCalendarComponent.prototype._focusActiveCell = function () {
25947
+ var _this = this;
25948
+ this._ngZone.runOutsideAngular(function () {
25949
+ _this._ngZone.onStable
25950
+ .asObservable()
25951
+ .pipe(first())
25952
+ .subscribe(function () { return _this._elementRef.nativeElement.focus(); });
25953
+ });
25954
+ };
25955
+ GIPIDatetimepickerCalendarComponent.prototype._calendarStateDone = function () {
25956
+ this._calendarState = '';
25957
+ };
25958
+ /** Whether the two dates represent the same view in the current view mode (month or year). */
25959
+ GIPIDatetimepickerCalendarComponent.prototype._isSameView = function (date1, date2) {
25960
+ if (this.currentView === 'month') {
25961
+ return (this._adapter.getYear(date1) === this._adapter.getYear(date2) &&
25962
+ this._adapter.getMonth(date1) === this._adapter.getMonth(date2));
25963
+ }
25964
+ if (this.currentView === 'year') {
25965
+ return this._adapter.getYear(date1) === this._adapter.getYear(date2);
25966
+ }
25967
+ // Otherwise we are in 'multi-year' view.
25968
+ return isSameMultiYearView$1(this._adapter, date1, date2, this.minDate, this.maxDate);
25969
+ };
25970
+ /** Handles keydown events on the calendar body when calendar is in month view. */
25971
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInMonthView = function (event) {
25972
+ switch (event.keyCode) {
25973
+ case LEFT_ARROW:
25974
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, -1);
25975
+ break;
25976
+ case RIGHT_ARROW:
25977
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 1);
25978
+ break;
25979
+ case UP_ARROW:
25980
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, -7);
25981
+ break;
25982
+ case DOWN_ARROW:
25983
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 7);
25984
+ break;
25985
+ case HOME:
25986
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 1 - this._adapter.getDate(this._activeDate));
25987
+ break;
25988
+ case END:
25989
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, this._adapter.getNumDaysInMonth(this._activeDate) - this._adapter.getDate(this._activeDate));
25990
+ break;
25991
+ case PAGE_UP:
25992
+ this._activeDate = event.altKey
25993
+ ? this._adapter.addCalendarYears(this._activeDate, -1)
25994
+ : this._adapter.addCalendarMonths(this._activeDate, -1);
25995
+ break;
25996
+ case PAGE_DOWN:
25997
+ this._activeDate = event.altKey
25998
+ ? this._adapter.addCalendarYears(this._activeDate, 1)
25999
+ : this._adapter.addCalendarMonths(this._activeDate, 1);
26000
+ break;
26001
+ case ENTER:
26002
+ if (this._dateFilterForViews(this._activeDate)) {
26003
+ this._dateSelected(this._activeDate);
26004
+ // Prevent unexpected default actions such as form submission.
26005
+ event.preventDefault();
26006
+ }
26007
+ return;
26008
+ default:
26009
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26010
+ return;
26011
+ }
26012
+ // Prevent unexpected default actions such as form submission.
26013
+ event.preventDefault();
26014
+ };
26015
+ /** Handles keydown events on the calendar body when calendar is in year view. */
26016
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInYearView = function (event) {
26017
+ switch (event.keyCode) {
26018
+ case LEFT_ARROW:
26019
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, -1);
26020
+ break;
26021
+ case RIGHT_ARROW:
26022
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, 1);
26023
+ break;
26024
+ case UP_ARROW:
26025
+ this._activeDate = this._prevMonthInSameCol(this._activeDate);
26026
+ break;
26027
+ case DOWN_ARROW:
26028
+ this._activeDate = this._nextMonthInSameCol(this._activeDate);
26029
+ break;
26030
+ case HOME:
26031
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, -this._adapter.getMonth(this._activeDate));
26032
+ break;
26033
+ case END:
26034
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, 11 - this._adapter.getMonth(this._activeDate));
26035
+ break;
26036
+ case PAGE_UP:
26037
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? -10 : -1);
26038
+ break;
26039
+ case PAGE_DOWN:
26040
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? 10 : 1);
26041
+ break;
26042
+ case ENTER:
26043
+ this._monthSelected(this._activeDate);
26044
+ break;
26045
+ default:
26046
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26047
+ return;
26048
+ }
26049
+ // Prevent unexpected default actions such as form submission.
26050
+ event.preventDefault();
26051
+ };
26052
+ /** Handles keydown events on the calendar body when calendar is in multi-year view. */
26053
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInMultiYearView = function (event) {
26054
+ switch (event.keyCode) {
26055
+ case LEFT_ARROW:
26056
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -1);
26057
+ break;
26058
+ case RIGHT_ARROW:
26059
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, 1);
26060
+ break;
26061
+ case UP_ARROW:
26062
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -yearsPerRow$1);
26063
+ break;
26064
+ case DOWN_ARROW:
26065
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, yearsPerRow$1);
26066
+ break;
26067
+ case HOME:
26068
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate));
26069
+ break;
26070
+ case END:
26071
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, yearsPerPage$2 - getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate) - 1);
26072
+ break;
26073
+ case PAGE_UP:
26074
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? -yearsPerPage$2 * 10 : -yearsPerPage$2);
26075
+ break;
26076
+ case PAGE_DOWN:
26077
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? yearsPerPage$2 * 10 : yearsPerPage$2);
26078
+ break;
26079
+ case ENTER:
26080
+ this._yearSelected(this._activeDate);
26081
+ break;
26082
+ default:
26083
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26084
+ return;
26085
+ }
26086
+ };
26087
+ /** Handles keydown events on the calendar body when calendar is in month view. */
26088
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInClockView = function (event) {
26089
+ switch (event.keyCode) {
26090
+ case UP_ARROW:
26091
+ this._activeDate = this._clockView === 'hour'
26092
+ ? this._adapter.addCalendarHours(this._activeDate, 1)
26093
+ : this._adapter.addCalendarMinutes(this._activeDate, 1);
26094
+ break;
26095
+ case DOWN_ARROW:
26096
+ this._activeDate = this._clockView === 'hour'
26097
+ ? this._adapter.addCalendarHours(this._activeDate, -1)
26098
+ : this._adapter.addCalendarMinutes(this._activeDate, -1);
26099
+ break;
26100
+ case ENTER:
26101
+ this._timeSelected(this._activeDate);
26102
+ return;
26103
+ default:
26104
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26105
+ return;
26106
+ }
26107
+ // Prevent unexpected default actions such as form submission.
26108
+ event.preventDefault();
26109
+ };
26110
+ /**
26111
+ * Determine the date for the month that comes before the given month in the same column in the
26112
+ * calendar table.
26113
+ */
26114
+ GIPIDatetimepickerCalendarComponent.prototype._prevMonthInSameCol = function (date) {
26115
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning of each year.
26116
+ var increment = this._adapter.getMonth(date) <= 4 ? -5 : this._adapter.getMonth(date) >= 7 ? -7 : -12;
26117
+ return this._adapter.addCalendarMonths(date, increment);
26118
+ };
26119
+ /**
26120
+ * Determine the date for the month that comes after the given month in the same column in the
26121
+ * calendar table.
26122
+ */
26123
+ GIPIDatetimepickerCalendarComponent.prototype._nextMonthInSameCol = function (date) {
26124
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning of each year.
26125
+ var increment = this._adapter.getMonth(date) <= 4 ? 7 : this._adapter.getMonth(date) >= 7 ? 5 : 12;
26126
+ return this._adapter.addCalendarMonths(date, increment);
26127
+ };
26128
+ GIPIDatetimepickerCalendarComponent.prototype.calendarState = function (direction) {
26129
+ this._calendarState = direction;
26130
+ };
26131
+ GIPIDatetimepickerCalendarComponent.prototype._2digit = function (n) {
26132
+ return ('00' + n).slice(-2);
26133
+ };
26134
+ GIPIDatetimepickerCalendarComponent.ctorParameters = function () { return [
26135
+ { type: ElementRef },
26136
+ { type: MatDatepickerIntl$1 },
26137
+ { type: NgZone },
26138
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
26139
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] },
26140
+ { type: ChangeDetectorRef }
26141
+ ]; };
26142
+ __decorate([
26143
+ Input(),
26144
+ __metadata("design:type", Boolean)
26145
+ ], GIPIDatetimepickerCalendarComponent.prototype, "multiYearSelector", void 0);
26146
+ __decorate([
26147
+ Input(),
26148
+ __metadata("design:type", String)
26149
+ ], GIPIDatetimepickerCalendarComponent.prototype, "startView", void 0);
26150
+ __decorate([
26151
+ Input(),
26152
+ __metadata("design:type", Boolean)
26153
+ ], GIPIDatetimepickerCalendarComponent.prototype, "twelvehour", void 0);
26154
+ __decorate([
26155
+ Input(),
26156
+ __metadata("design:type", Number)
26157
+ ], GIPIDatetimepickerCalendarComponent.prototype, "timeInterval", void 0);
26158
+ __decorate([
26159
+ Input(),
26160
+ __metadata("design:type", Function)
26161
+ ], GIPIDatetimepickerCalendarComponent.prototype, "dateFilter", void 0);
26162
+ __decorate([
26163
+ Input(),
26164
+ __metadata("design:type", Object)
26165
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaLabel", void 0);
26166
+ __decorate([
26167
+ Input(),
26168
+ __metadata("design:type", Object)
26169
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextMonthLabel", void 0);
26170
+ __decorate([
26171
+ Input(),
26172
+ __metadata("design:type", Object)
26173
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevMonthLabel", void 0);
26174
+ __decorate([
26175
+ Input(),
26176
+ __metadata("design:type", Object)
26177
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextYearLabel", void 0);
26178
+ __decorate([
26179
+ Input(),
26180
+ __metadata("design:type", Object)
26181
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevYearLabel", void 0);
26182
+ __decorate([
26183
+ Input(),
26184
+ __metadata("design:type", Object)
26185
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextMultiYearLabel", void 0);
26186
+ __decorate([
26187
+ Input(),
26188
+ __metadata("design:type", Object)
26189
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevMultiYearLabel", void 0);
26190
+ __decorate([
26191
+ Input(),
26192
+ __metadata("design:type", Object)
26193
+ ], GIPIDatetimepickerCalendarComponent.prototype, "preventSameDateTimeSelection", void 0);
26194
+ __decorate([
26195
+ Input(),
26196
+ __metadata("design:type", String),
26197
+ __metadata("design:paramtypes", [String])
26198
+ ], GIPIDatetimepickerCalendarComponent.prototype, "type", null);
26199
+ __decorate([
26200
+ Input(),
26201
+ __metadata("design:type", Object),
26202
+ __metadata("design:paramtypes", [Object])
26203
+ ], GIPIDatetimepickerCalendarComponent.prototype, "startAt", null);
26204
+ __decorate([
26205
+ Input(),
26206
+ __metadata("design:type", Object),
26207
+ __metadata("design:paramtypes", [Object])
26208
+ ], GIPIDatetimepickerCalendarComponent.prototype, "selected", null);
26209
+ __decorate([
26210
+ Input(),
26211
+ __metadata("design:type", Object),
26212
+ __metadata("design:paramtypes", [Object])
26213
+ ], GIPIDatetimepickerCalendarComponent.prototype, "minDate", null);
26214
+ __decorate([
26215
+ Input(),
26216
+ __metadata("design:type", Object),
26217
+ __metadata("design:paramtypes", [Object])
26218
+ ], GIPIDatetimepickerCalendarComponent.prototype, "maxDate", null);
26219
+ __decorate([
26220
+ Output(),
26221
+ __metadata("design:type", EventEmitter)
26222
+ ], GIPIDatetimepickerCalendarComponent.prototype, "selectedChange", void 0);
26223
+ __decorate([
26224
+ Output(),
26225
+ __metadata("design:type", EventEmitter)
26226
+ ], GIPIDatetimepickerCalendarComponent.prototype, "viewChanged", void 0);
26227
+ __decorate([
26228
+ Output(),
26229
+ __metadata("design:type", Object)
26230
+ ], GIPIDatetimepickerCalendarComponent.prototype, "_userSelection", void 0);
26231
+ GIPIDatetimepickerCalendarComponent = __decorate([
26232
+ Component({
26233
+ selector: 'gipi-mat-datetime-picker-calendar',
26234
+ template: "<div class=\"gipi-mat-datetime-picker-calendar-header\">\n <div class=\"gipi-mat-datetime-picker-calendar-controls\">\n <div *ngIf=\"type !== 'time'\"\n role=\"button\"\n cdkAriaLive=\"polite\"\n class=\"gipi-mat-datetime-picker-calendar-period-button\"\n [class.active]=\"currentView === 'year' || currentView === 'multi-year'\"\n [attr.aria-label]=\"periodButtonLabel\"\n (click)=\"_yearClicked()\">\n {{ _yearLabel }}\n\n <div *ngIf=\"multiYearSelector || type === 'year'\"\n class=\"gipi-mat-datetime-picker-calendar-arrow\"\n [class.gipi-mat-datetime-picker-calendar-invert]=\"currentView != 'month'\">\n </div>\n </div>\n\n <div class=\"gipi-mat-datetime-picker-calendar-spacer\"> </div>\n\n <button mat-icon-button\n type=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-previous-button\"\n [disabled]=\"!_previousEnabled()\"\n (click)=\"_previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\">\n </button>\n\n <button mat-icon-button\n type=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-next-button\"\n [disabled]=\"!_nextEnabled()\"\n (click)=\"_nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\">\n </button>\n </div>\n\n <div class=\"gipi-mat-datetime-picker-calendar-header-date-time\">\n <span *ngIf=\"type !== 'time' && type !== 'year'\"\n role=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-header-date\"\n [class.active]=\"currentView === 'month'\"\n [class.not-clickable]=\"type === 'month'\"\n (click)=\"_dateClicked()\">\n {{ _dateLabel }}\n </span>\n <span *ngIf=\"type.endsWith('time')\"\n class=\"gipi-mat-datetime-picker-calendar-header-time\"\n [class.active]=\"currentView === 'clock'\">\n <span role=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-header-hours\"\n [class.active]=\"currentView === 'clock' && _clockView === 'hour'\"\n (click)=\"_hoursClicked()\">\n {{ _hoursLabel }}\n </span>\n :\n <span role=\"button\"\n class=\"gipi-mat-datetime-picker-calendar-header-minutes\"\n [class.active]=\"currentView === 'clock' && _clockView === 'minute'\"\n (click)=\"_minutesClicked()\">\n {{ _minutesLabel }}\n </span>\n <br />\n <span *ngIf=\"twelvehour\"\n class=\"gipi-mat-datetime-picker-calendar-header-ampm-container\">\n <span class=\"gipi-mat-datetime-picker-calendar-header-ampm\"\n [class.active]=\"currentView === 'clock' && _AMPM === 'AM'\"\n (click)=\"_ampmClicked('AM')\">\n AM\n </span>\n /\n <span class=\"gipi-mat-datetime-picker-calendar-header-ampm\"\n [class.active]=\"currentView === 'clock' && _AMPM === 'PM'\"\n (click)=\"_ampmClicked('PM')\">\n PM\n </span>\n </span>\n </span>\n </div>\n</div>\n\n<div [ngSwitch]=\"currentView\"\n class=\"gipi-mat-datetime-picker-calendar-content\">\n <!-- <div *ngIf=\"currentView === 'month' || currentView === 'year' || currentView === 'multi-year'\"\n class=\"mat-month-content\">\n <div class=\"gipi-mat-datetime-picker-calendar-controls\">\n <div (click)=\"_previousClicked()\"\n [attr.aria-disabled]=\"!_previousEnabled()\"\n [attr.aria-label]=\"_ariaLabelPrev\"\n [class.disabled]=\"!_previousEnabled()\"\n class=\"gipi-mat-datetime-picker-calendar-previous-button\"\n role=\"button\">\n <svg height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"></path>\n </svg>\n </div>\n <div (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n class=\"gipi-mat-datetime-picker-calendar-period-button\">\n <strong>{{ _monthYearLabel }}</strong>\n </div>\n <div (click)=\"_nextClicked()\"\n [attr.aria-disabled]=\"!_nextEnabled()\"\n [attr.aria-label]=\"_ariaLabelNext\"\n [class.disabled]=\"!_nextEnabled()\"\n class=\"gipi-mat-datetime-picker-calendar-next-button\"\n role=\"button\">\n <svg height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"></path>\n </svg>\n </div>\n </div>\n </div> -->\n\n <gipi-mat-datetime-picker-month-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_dateSelected($event)\"\n *ngSwitchCase=\"'month'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected\"\n [type]=\"type\">\n </gipi-mat-datetime-picker-month-view>\n <gipi-mat-datetime-picker-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_monthSelected($event)\"\n *ngSwitchCase=\"'year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected\"\n [type]=\"type\">\n </gipi-mat-datetime-picker-year-view>\n <gipi-mat-datetime-picker-multi-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_yearSelected($event)\"\n *ngSwitchCase=\"'multi-year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"selected\"\n [type]=\"type\">\n </gipi-mat-datetime-picker-multi-year-view>\n <gipi-mat-datetime-picker-clock (_userSelection)=\"_userSelected()\"\n (activeDateChange)=\"_onActiveDateChange($event)\"\n (selectedChange)=\"_timeSelected($event)\"\n *ngSwitchDefault\n [dateFilter]=\"dateFilter\"\n [interval]=\"timeInterval\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"_activeDate\"\n [startView]=\"_clockView\"\n [twelvehour]=\"twelvehour\">\n </gipi-mat-datetime-picker-clock>\n</div>",
26235
+ animations: [slideCalendar],
26236
+ encapsulation: ViewEncapsulation.None,
26237
+ changeDetection: ChangeDetectionStrategy.OnPush,
26238
+ host: {
26239
+ '[class.gipi-mat-datetime-picker-calendar]': 'true',
26240
+ '[attr.aria-label]': 'ariaLabel',
26241
+ role: 'dialog',
26242
+ tabindex: '0',
26243
+ '(keydown)': '_handleCalendarBodyKeydown($event)',
26244
+ },
26245
+ styles: [".gipi-mat-datetime-picker-calendar{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;outline:0}.gipi-mat-datetime-picker-calendar[mode=landscape]{display:flex}.gipi-mat-datetime-picker-calendar-header{padding:8px 8px 0;font-size:14px;box-sizing:border-box}[mode=landscape] .gipi-mat-datetime-picker-calendar-header{width:150px;min-width:150px}.gipi-mat-datetime-picker-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.gipi-mat-datetime-picker-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.gipi-mat-datetime-picker-calendar-spacer{flex:1 1 auto}.gipi-mat-datetime-picker-calendar-period-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:0;line-height:36px;padding:0 16px;border-radius:4px}.gipi-mat-datetime-picker-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.gipi-mat-datetime-picker-calendar-arrow.gipi-mat-datetime-picker-calendar-invert{transform:rotate(180deg)}[dir=rtl] .gipi-mat-datetime-picker-calendar-arrow{margin:0 5px 0 0}.gipi-mat-datetime-picker-calendar-next-button::after,.gipi-mat-datetime-picker-calendar-previous-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:'';margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .gipi-mat-datetime-picker-calendar-next-button,[dir=rtl] .gipi-mat-datetime-picker-calendar-previous-button{transform:rotate(180deg)}.gipi-mat-datetime-picker-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.gipi-mat-datetime-picker-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.gipi-mat-datetime-picker-calendar-header-date-time{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:6px;font-weight:500;white-space:nowrap}[mode=landscape] .gipi-mat-datetime-picker-calendar-header-date-time{white-space:normal;word-wrap:break-word;margin-top:0}.gipi-mat-datetime-picker-calendar-header-ampm-container{font-size:.77em}.gipi-mat-datetime-picker-calendar-header-date{display:flex;align-items:center;justify-content:center;border-radius:6px;padding-inline:1rem;font-size:14px;line-height:36px;font-weight:600;transition:.2s}.gipi-mat-datetime-picker-calendar-header-date:not(.active){cursor:pointer;opacity:.6}.gipi-mat-datetime-picker-calendar-header-date:not(.active):hover{background:#f5f5f6;opacity:1}.gipi-mat-datetime-picker-calendar-header-date.active{cursor:pointer;background-color:#f3e7e7;color:#e0313e;opacity:1}.gipi-mat-datetime-picker-calendar-header-date.active:hover{background-color:#e0313e;color:#f3e7e7}.gipi-mat-datetime-picker-calendar-header-date.not-clickable{cursor:initial}.gipi-mat-datetime-picker-calendar-header-ampm,.gipi-mat-datetime-picker-calendar-header-hours,.gipi-mat-datetime-picker-calendar-header-minutes{display:flex;align-items:center;justify-content:center;border-radius:6px;width:36px;height:36px;transition:.2s}.gipi-mat-datetime-picker-calendar-header-ampm:not(.active),.gipi-mat-datetime-picker-calendar-header-hours:not(.active),.gipi-mat-datetime-picker-calendar-header-minutes:not(.active){cursor:pointer;opacity:.6}.gipi-mat-datetime-picker-calendar-header-ampm:not(.active):hover,.gipi-mat-datetime-picker-calendar-header-hours:not(.active):hover,.gipi-mat-datetime-picker-calendar-header-minutes:not(.active):hover{background:#f5f5f6;opacity:1}.gipi-mat-datetime-picker-calendar-header-ampm.active,.gipi-mat-datetime-picker-calendar-header-hours.active,.gipi-mat-datetime-picker-calendar-header-minutes.active{cursor:pointer;background-color:#f3e7e7;color:#e0313e;opacity:1}.gipi-mat-datetime-picker-calendar-header-ampm.active:hover,.gipi-mat-datetime-picker-calendar-header-hours.active:hover,.gipi-mat-datetime-picker-calendar-header-minutes.active:hover{background-color:#e0313e;color:#f3e7e7}.gipi-mat-datetime-picker-calendar-header-ampm.not-clickable,.gipi-mat-datetime-picker-calendar-header-hours.not-clickable,.gipi-mat-datetime-picker-calendar-header-minutes.not-clickable{cursor:initial}.gipi-mat-datetime-picker-calendar-header-time{display:flex;align-items:center;justify-content:center;gap:1px;font-size:24px;line-height:36px;padding-left:8px}.gipi-mat-datetime-picker-calendar-header-time:not(.active){opacity:.6}[mode=landscape] .gipi-mat-datetime-picker-calendar-header-time{display:block;padding-left:0}.gipi-mat-datetime-picker-calendar-content{width:100%;padding:0 8px 8px;outline:0;box-sizing:border-box;overflow:hidden}[mode=landscape] .gipi-mat-datetime-picker-calendar-content{padding-top:8px}.gipi-mat-datetime-picker-calendar-controls{display:flex;justify-content:space-between}.gipi-mat-datetime-picker-calendar-next-button,.gipi-mat-datetime-picker-calendar-previous-button{position:relative;display:inline-block;width:48px;height:48px;padding:12px;outline:0;border:0;cursor:pointer;background:0 0;box-sizing:border-box}.gipi-mat-datetime-picker-calendar-next-button.disabled,.gipi-mat-datetime-picker-calendar-previous-button.disabled{color:rgba(0,0,0,.38);pointer-events:none}.gipi-mat-datetime-picker-calendar-next-button svg,.gipi-mat-datetime-picker-calendar-previous-button svg{fill:currentColor;vertical-align:top}.gipi-mat-datetime-picker-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.gipi-mat-datetime-picker-calendar-table-header{color:rgba(0,0,0,.38)}.gipi-mat-datetime-picker-calendar-table-header th{text-align:center;font-size:11px;padding:0 0 8px}.gipi-mat-datetime-picker-calendar-table-header-divider{position:relative;height:1px}.gipi-mat-datetime-picker-calendar-table-header-divider::after{content:'';position:absolute;top:0;left:-8px;right:-8px;height:1px}@media (min-width:480px){.gipi-mat-datetime-picker-calendar[mode=auto]{display:flex}.gipi-mat-datetime-picker-calendar[mode=auto] .gipi-mat-datetime-picker-calendar-header{width:150px;min-width:150px}.gipi-mat-datetime-picker-calendar[mode=auto] .gipi-mat-datetime-picker-calendar-header-date-time{white-space:normal;word-wrap:break-word}.gipi-mat-datetime-picker-calendar[mode=auto] .gipi-mat-datetime-picker-calendar-header-time{display:block;padding-left:0}.gipi-mat-datetime-picker-calendar[mode=auto] .gipi-mat-datetime-picker-calendar-content{padding-top:8px}}"]
26246
+ }),
26247
+ __param(3, Optional()),
26248
+ __param(4, Optional()), __param(4, Inject(GIPI_DATETIME_FORMATS)),
26249
+ __metadata("design:paramtypes", [ElementRef,
26250
+ MatDatepickerIntl$1,
26251
+ NgZone,
26252
+ GIPIDatetimeAdapter, Object, ChangeDetectorRef])
26253
+ ], GIPIDatetimepickerCalendarComponent);
26254
+ return GIPIDatetimepickerCalendarComponent;
26255
+ }());
26256
+
26257
+ /** Used to generate a unique ID for each datepicker instance. */
26258
+ var datetimepickerUid = 0;
26259
+ /**
26260
+ * Component used as the content for the datepicker dialog and popup. We use this instead of using
26261
+ * MatCalendar directly as the content so we can control the initial focus. This also gives us a
26262
+ * place to put additional features of the popup that are not part of the calendar itself in the
26263
+ * future. (e.g. confirmation buttons).
26264
+ * @docs-private
26265
+ */
26266
+ var GIPIDatetimepickerContentComponent = /** @class */ (function () {
26267
+ function GIPIDatetimepickerContentComponent() {
26268
+ }
26269
+ GIPIDatetimepickerContentComponent.prototype.ngAfterContentInit = function () {
26270
+ this._calendar._focusActiveCell();
26271
+ };
26272
+ GIPIDatetimepickerContentComponent.prototype.onSelectionChange = function (date) {
26273
+ this.datetimepicker._select(date);
26274
+ this.datetimepicker.close();
26275
+ };
26276
+ /**
26277
+ * Handles keydown event on datepicker content.
26278
+ * @param event The event.
26279
+ */
26280
+ GIPIDatetimepickerContentComponent.prototype._handleKeydown = function (event) {
26281
+ if (event.keyCode === ESCAPE) {
26282
+ this.datetimepicker.close();
26283
+ event.preventDefault();
26284
+ event.stopPropagation();
26285
+ }
26286
+ };
26287
+ __decorate([
26288
+ ViewChild(GIPIDatetimepickerCalendarComponent, { static: true }),
26289
+ __metadata("design:type", GIPIDatetimepickerCalendarComponent)
26290
+ ], GIPIDatetimepickerContentComponent.prototype, "_calendar", void 0);
26291
+ GIPIDatetimepickerContentComponent = __decorate([
26292
+ Component({
26293
+ selector: 'gipi-mat-datetime-picker-content',
26294
+ template: "<gipi-mat-datetime-picker-calendar cdkTrapFocus\n class=\"mat-typography\"\n [id]=\"datetimepicker.id\"\n [attr.mode]=\"datetimepicker.mode\"\n [ariaNextMonthLabel]=\"datetimepicker.ariaNextMonthLabel\"\n [ariaNextYearLabel]=\"datetimepicker.ariaNextYearLabel\"\n [ariaPrevMonthLabel]=\"datetimepicker.ariaPrevMonthLabel\"\n [ariaPrevYearLabel]=\"datetimepicker.ariaPrevYearLabel\"\n [preventSameDateTimeSelection]=\"datetimepicker.preventSameDateTimeSelection\"\n [dateFilter]=\"datetimepicker._dateFilter\"\n [maxDate]=\"datetimepicker._maxDate\"\n [minDate]=\"datetimepicker._minDate\"\n [multiYearSelector]=\"datetimepicker.multiYearSelector\"\n [selected]=\"datetimepicker._selected\"\n [startAt]=\"datetimepicker.startAt\"\n [startView]=\"datetimepicker.startView\"\n [timeInterval]=\"datetimepicker.timeInterval\"\n [twelvehour]=\"datetimepicker.twelvehour\"\n [type]=\"datetimepicker.type\"\n (_userSelection)=\"datetimepicker.close()\"\n (selectedChange)=\"onSelectionChange($event)\"\n (viewChanged)=\"datetimepicker._viewChanged($event)\">\n</gipi-mat-datetime-picker-calendar>",
26295
+ encapsulation: ViewEncapsulation.None,
26296
+ changeDetection: ChangeDetectionStrategy.OnPush,
26297
+ host: {
26298
+ class: 'gipi-mat-datetime-picker-content',
26299
+ '[class.gipi-mat-datetime-picker-content-touch]': 'datetimepicker?.touchUi',
26300
+ '(keydown)': '_handleKeydown($event)',
26301
+ },
26302
+ styles: ["@use '@angular/material' as mat;.gipi-mat-datetime-picker-content{display:block;background-color:#fff;border-radius:4px!important;overflow:hidden;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)}.gipi-mat-datetime-picker-calendar{width:296px;height:405px}.gipi-mat-datetime-picker-calendar[mode=landscape]{width:446px;height:328px}@media (min-width:480px){.gipi-mat-datetime-picker-calendar[mode=auto]{width:446px;height:328px}}.gipi-mat-datetime-picker-content-touch{display:block;box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.48}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.6)}.gipi-mat-datetime-picker-dialog .mat-dialog-container{padding:0}"]
26303
+ })
26304
+ ], GIPIDatetimepickerContentComponent);
26305
+ return GIPIDatetimepickerContentComponent;
26306
+ }());
26307
+ var GIPIDatetimepickerComponent = /** @class */ (function () {
26308
+ function GIPIDatetimepickerComponent(_dialog, _overlay, _ngZone, _viewContainerRef, _scrollStrategy, _dateAdapter, _dir, _document) {
26309
+ this._dialog = _dialog;
26310
+ this._overlay = _overlay;
26311
+ this._ngZone = _ngZone;
26312
+ this._viewContainerRef = _viewContainerRef;
26313
+ this._scrollStrategy = _scrollStrategy;
26314
+ this._dateAdapter = _dateAdapter;
26315
+ this._dir = _dir;
26316
+ this._document = _document;
26317
+ /** Whether the calendar is open. */
26318
+ this.opened = false;
26319
+ /** The id for the datepicker calendar. */
26320
+ this.id = "gipi-mat-datetime-picker-" + datetimepickerUid++;
26321
+ /** Emits when the datepicker is disabled. */
26322
+ this._disabledChange = new Subject();
26323
+ this._validSelected = null;
26324
+ /** The element that was focused before the datepicker was opened. */
26325
+ this._focusedElementBeforeOpen = null;
26326
+ this._inputSubscription = Subscription.EMPTY;
26327
+ /** Active multi year view when click on year. */
26328
+ this.multiYearSelector = false;
26329
+ /** if true change the clock to 12 hour format. */
26330
+ this.twelvehour = false;
26331
+ /** The view that the calendar should start in. */
26332
+ this.startView = 'month';
26333
+ this.mode = 'auto';
26334
+ this.timeInterval = 1;
26335
+ this.ariaNextMonthLabel = 'Next month';
26336
+ this.ariaPrevMonthLabel = 'Previous month';
26337
+ this.ariaNextYearLabel = 'Next year';
26338
+ this.ariaPrevYearLabel = 'Previous year';
26339
+ /** Prevent user to select same date time */
26340
+ this.preventSameDateTimeSelection = false;
26341
+ this._type = 'date';
26342
+ /** Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather than a popup and elements have more padding to allow for bigger touch targets. */
26343
+ this._touchUi = false;
26344
+ /** Emits when the datepicker has been opened. */
26345
+ this.openedStream = new EventEmitter();
26346
+ /** Emits when the datepicker has been closed. */
26347
+ this.closedStream = new EventEmitter();
26348
+ /** Emits when the view has been changed. **/
26349
+ this.viewChanged = new EventEmitter();
26350
+ /**
26351
+ * Emits new selected date when selected date changes.
26352
+ * @deprecated Switch to the `dateChange` and `dateInput` binding on the input element.
26353
+ */
26354
+ this.selectedChanged = new EventEmitter();
26355
+ if (!this._dateAdapter) {
26356
+ throw createMissingDateImplError$1('DateAdapter');
26357
+ }
26358
+ }
26359
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "startAt", {
26360
+ get: function () {
26361
+ // If an explicit startAt is set we start there, otherwise we start at whatever the currently selected value is.
26362
+ return (this._startAt || (this._datepickerInput ? this._datepickerInput.value : null));
26363
+ },
26364
+ set: function (date) {
26365
+ this._startAt = this._dateAdapter.getValidDateOrNull(date);
26366
+ },
26367
+ enumerable: false,
26368
+ configurable: true
26369
+ });
26370
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "openOnFocus", {
26371
+ get: function () {
26372
+ return this._openOnFocus;
26373
+ },
26374
+ set: function (value) {
26375
+ this._openOnFocus = coerceBooleanProperty(value);
26376
+ },
26377
+ enumerable: false,
26378
+ configurable: true
26379
+ });
26380
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "type", {
26381
+ get: function () {
26382
+ return this._type;
26383
+ },
26384
+ set: function (value) {
26385
+ this._type = value || 'date';
26386
+ },
26387
+ enumerable: false,
26388
+ configurable: true
26389
+ });
26390
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "touchUi", {
26391
+ get: function () {
26392
+ return this._touchUi;
26393
+ },
26394
+ set: function (value) {
26395
+ this._touchUi = coerceBooleanProperty(value);
26396
+ },
26397
+ enumerable: false,
26398
+ configurable: true
26399
+ });
26400
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "disabled", {
26401
+ get: function () {
26402
+ return this._disabled === undefined && this._datepickerInput
26403
+ ? this._datepickerInput.disabled
26404
+ : !!this._disabled;
26405
+ },
26406
+ set: function (value) {
26407
+ var newValue = coerceBooleanProperty(value);
26408
+ if (newValue !== this._disabled) {
26409
+ this._disabled = newValue;
26410
+ this._disabledChange.next(newValue);
26411
+ }
26412
+ },
26413
+ enumerable: false,
26414
+ configurable: true
26415
+ });
26416
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_selected", {
26417
+ /** The currently selected date. */
26418
+ get: function () {
26419
+ return this._validSelected;
26420
+ },
26421
+ set: function (value) {
26422
+ this._validSelected = value;
26423
+ },
26424
+ enumerable: false,
26425
+ configurable: true
26426
+ });
26427
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_minDate", {
26428
+ /** The minimum selectable date. */
26429
+ get: function () {
26430
+ return this._datepickerInput && this._datepickerInput.min;
26431
+ },
26432
+ enumerable: false,
26433
+ configurable: true
26434
+ });
26435
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_maxDate", {
26436
+ /** The maximum selectable date. */
26437
+ get: function () {
26438
+ return this._datepickerInput && this._datepickerInput.max;
26439
+ },
26440
+ enumerable: false,
26441
+ configurable: true
26442
+ });
26443
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_dateFilter", {
26444
+ get: function () {
26445
+ return this._datepickerInput && this._datepickerInput._dateFilter;
26446
+ },
26447
+ enumerable: false,
26448
+ configurable: true
26449
+ });
26450
+ GIPIDatetimepickerComponent.prototype._handleFocus = function () {
26451
+ if (!this.opened && this.openOnFocus) {
26452
+ this.open();
26453
+ }
26454
+ };
26455
+ GIPIDatetimepickerComponent.prototype._viewChanged = function (type) {
26456
+ this.viewChanged.emit(type);
26457
+ };
26458
+ GIPIDatetimepickerComponent.prototype.ngOnDestroy = function () {
26459
+ this.close();
26460
+ this._inputSubscription.unsubscribe();
26461
+ this._disabledChange.complete();
26462
+ if (this._popupRef) {
26463
+ this._popupRef.dispose();
26464
+ }
26465
+ };
26466
+ /** Selects the given date */
26467
+ GIPIDatetimepickerComponent.prototype._select = function (date) {
26468
+ var oldValue = this._selected;
26469
+ this._selected = date;
26470
+ if (!this._dateAdapter.sameDatetime(oldValue, this._selected)) {
26471
+ this.selectedChanged.emit(date);
26472
+ }
26473
+ };
26474
+ /**
26475
+ * Register an input with this datepicker.
26476
+ * @param input The datepicker input to register with this datepicker.
26477
+ */
26478
+ GIPIDatetimepickerComponent.prototype._registerInput = function (input) {
26479
+ var _this = this;
26480
+ if (this._datepickerInput) {
26481
+ throw Error('A MatDatepicker can only be associated with a single input.');
26482
+ }
26483
+ this._datepickerInput = input;
26484
+ this._inputSubscription = this._datepickerInput._valueChange.subscribe(function (value) { return (_this._selected = value); });
26485
+ };
26486
+ /** Open the calendar. */
26487
+ GIPIDatetimepickerComponent.prototype.open = function () {
26488
+ if (this.opened || this.disabled) {
26489
+ return;
26490
+ }
26491
+ if (!this._datepickerInput) {
26492
+ throw Error('Attempted to open an MatDatepicker with no associated input.');
26493
+ }
26494
+ if (this._document) {
26495
+ this._focusedElementBeforeOpen = this._document.activeElement;
26496
+ }
26497
+ this.touchUi ? this._openAsDialog() : this._openAsPopup();
26498
+ this.opened = true;
26499
+ this.openedStream.emit();
26500
+ };
26501
+ /** Close the calendar. */
26502
+ GIPIDatetimepickerComponent.prototype.close = function () {
26503
+ var _this = this;
26504
+ if (!this.opened) {
26505
+ return;
26506
+ }
26507
+ if (this._popupRef && this._popupRef.hasAttached()) {
26508
+ this._popupRef.detach();
26509
+ }
26510
+ if (this._dialogRef) {
26511
+ this._dialogRef.close();
26512
+ this._dialogRef = null;
26513
+ }
26514
+ if (this._calendarPortal && this._calendarPortal.isAttached) {
26515
+ this._calendarPortal.detach();
26516
+ }
26517
+ var completeClose = function () {
26518
+ // The `_opened` could've been reset already if
26519
+ // we got two events in quick succession.
26520
+ if (_this.opened) {
26521
+ _this.opened = false;
26522
+ _this.closedStream.emit();
26523
+ _this._focusedElementBeforeOpen = null;
26524
+ }
26525
+ };
26526
+ if (this._focusedElementBeforeOpen && typeof this._focusedElementBeforeOpen.focus === 'function') {
26527
+ // Because IE moves focus asynchronously, we can't count on it being restored before we've
26528
+ // marked the datepicker as closed. If the event fires out of sequence and the element that
26529
+ // we're refocusing opens the datepicker on focus, the user could be stuck with not being
26530
+ // able to close the calendar at all. We work around it by making the logic, that marks
26531
+ // the datepicker as closed, async as well.
26532
+ this._focusedElementBeforeOpen.focus();
26533
+ setTimeout(completeClose);
26534
+ }
26535
+ else {
26536
+ completeClose();
26537
+ }
26538
+ };
26539
+ /** Open the calendar as a dialog. */
26540
+ GIPIDatetimepickerComponent.prototype._openAsDialog = function () {
26541
+ var _this = this;
26542
+ this._dialogRef = this._dialog.open(GIPIDatetimepickerContentComponent, {
26543
+ direction: this._dir ? this._dir.value : 'ltr',
26544
+ viewContainerRef: this._viewContainerRef,
26545
+ panelClass: 'gipi-mat-datetime-picker-dialog',
26546
+ });
26547
+ this._dialogRef.afterClosed().subscribe(function () { return _this.close(); });
26548
+ this._dialogRef.componentInstance.datetimepicker = this;
26549
+ };
26550
+ /** Open the calendar as a popup. */
26551
+ GIPIDatetimepickerComponent.prototype._openAsPopup = function () {
26552
+ var _this = this;
26553
+ if (!this._calendarPortal) {
26554
+ this._calendarPortal = new ComponentPortal(GIPIDatetimepickerContentComponent, this._viewContainerRef);
26555
+ }
26556
+ if (!this._popupRef) {
26557
+ this._createPopup();
26558
+ }
26559
+ if (!this._popupRef.hasAttached()) {
26560
+ var componentRef = this._popupRef.attach(this._calendarPortal);
26561
+ componentRef.instance.datetimepicker = this;
26562
+ // Update the position once the calendar has rendered.
26563
+ this._ngZone.onStable
26564
+ .asObservable()
26565
+ .pipe(first())
26566
+ .subscribe(function () { return _this._popupRef.updatePosition(); });
26567
+ }
26568
+ this._popupRef.backdropClick().subscribe(function () { return _this.close(); });
26569
+ };
26570
+ /** Create the popup. */
26571
+ GIPIDatetimepickerComponent.prototype._createPopup = function () {
26572
+ var overlayConfig = new OverlayConfig({
26573
+ positionStrategy: this._createPopupPositionStrategy(),
26574
+ hasBackdrop: true,
26575
+ backdropClass: 'mat-overlay-transparent-backdrop',
26576
+ direction: this._dir ? this._dir.value : 'ltr',
26577
+ scrollStrategy: this._scrollStrategy(),
26578
+ panelClass: 'gipi-mat-datetime-picker-popup',
26579
+ });
26580
+ this._popupRef = this._overlay.create(overlayConfig);
26581
+ };
26582
+ /** Create the popup PositionStrategy. */
26583
+ GIPIDatetimepickerComponent.prototype._createPopupPositionStrategy = function () {
26584
+ return this._overlay
26585
+ .position()
26586
+ .flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin())
26587
+ .withTransformOriginOn('.gipi-mat-datetime-picker-content')
26588
+ .withFlexibleDimensions(false)
26589
+ .withViewportMargin(8)
26590
+ .withLockedPosition()
26591
+ .withPositions([
26592
+ {
26593
+ originX: 'start',
26594
+ originY: 'bottom',
26595
+ overlayX: 'start',
26596
+ overlayY: 'top',
26597
+ },
26598
+ {
26599
+ originX: 'start',
26600
+ originY: 'top',
26601
+ overlayX: 'start',
26602
+ overlayY: 'bottom',
26603
+ },
26604
+ {
26605
+ originX: 'end',
26606
+ originY: 'bottom',
26607
+ overlayX: 'end',
26608
+ overlayY: 'top',
26609
+ },
26610
+ {
26611
+ originX: 'end',
26612
+ originY: 'top',
26613
+ overlayX: 'end',
26614
+ overlayY: 'bottom',
26615
+ },
26616
+ ]);
26617
+ };
26618
+ GIPIDatetimepickerComponent.ctorParameters = function () { return [
26619
+ { type: MatDialog$1 },
26620
+ { type: Overlay },
26621
+ { type: NgZone },
26622
+ { type: ViewContainerRef },
26623
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DATEPICKER_SCROLL_STRATEGY$1,] }] },
26624
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
26625
+ { type: Directionality, decorators: [{ type: Optional }] },
26626
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
26627
+ ]; };
26628
+ __decorate([
26629
+ Input(),
26630
+ __metadata("design:type", Boolean)
26631
+ ], GIPIDatetimepickerComponent.prototype, "multiYearSelector", void 0);
26632
+ __decorate([
26633
+ Input(),
26634
+ __metadata("design:type", Boolean)
26635
+ ], GIPIDatetimepickerComponent.prototype, "twelvehour", void 0);
26636
+ __decorate([
26637
+ Input(),
26638
+ __metadata("design:type", String)
26639
+ ], GIPIDatetimepickerComponent.prototype, "startView", void 0);
26640
+ __decorate([
26641
+ Input(),
26642
+ __metadata("design:type", String)
26643
+ ], GIPIDatetimepickerComponent.prototype, "mode", void 0);
26644
+ __decorate([
26645
+ Input(),
26646
+ __metadata("design:type", Number)
26647
+ ], GIPIDatetimepickerComponent.prototype, "timeInterval", void 0);
26648
+ __decorate([
26649
+ Input(),
26650
+ __metadata("design:type", Object)
26651
+ ], GIPIDatetimepickerComponent.prototype, "ariaNextMonthLabel", void 0);
26652
+ __decorate([
26653
+ Input(),
26654
+ __metadata("design:type", Object)
26655
+ ], GIPIDatetimepickerComponent.prototype, "ariaPrevMonthLabel", void 0);
26656
+ __decorate([
26657
+ Input(),
26658
+ __metadata("design:type", Object)
26659
+ ], GIPIDatetimepickerComponent.prototype, "ariaNextYearLabel", void 0);
26660
+ __decorate([
26661
+ Input(),
26662
+ __metadata("design:type", Object)
26663
+ ], GIPIDatetimepickerComponent.prototype, "ariaPrevYearLabel", void 0);
26664
+ __decorate([
26665
+ Input(),
26666
+ __metadata("design:type", Object)
26667
+ ], GIPIDatetimepickerComponent.prototype, "preventSameDateTimeSelection", void 0);
26668
+ __decorate([
26669
+ Input(),
26670
+ __metadata("design:type", Object)
26671
+ ], GIPIDatetimepickerComponent.prototype, "panelClass", void 0);
26672
+ __decorate([
26673
+ Input(),
26674
+ __metadata("design:type", Object),
26675
+ __metadata("design:paramtypes", [Object])
26676
+ ], GIPIDatetimepickerComponent.prototype, "startAt", null);
26677
+ __decorate([
26678
+ Input(),
26679
+ __metadata("design:type", Boolean),
26680
+ __metadata("design:paramtypes", [Boolean])
26681
+ ], GIPIDatetimepickerComponent.prototype, "openOnFocus", null);
26682
+ __decorate([
26683
+ Input(),
26684
+ __metadata("design:type", String),
26685
+ __metadata("design:paramtypes", [String])
26686
+ ], GIPIDatetimepickerComponent.prototype, "type", null);
26687
+ __decorate([
26688
+ Input(),
26689
+ __metadata("design:type", Boolean),
26690
+ __metadata("design:paramtypes", [Boolean])
26691
+ ], GIPIDatetimepickerComponent.prototype, "touchUi", null);
26692
+ __decorate([
26693
+ Input(),
26694
+ __metadata("design:type", Boolean),
26695
+ __metadata("design:paramtypes", [Boolean])
26696
+ ], GIPIDatetimepickerComponent.prototype, "disabled", null);
26697
+ __decorate([
26698
+ Output('opened'),
26699
+ __metadata("design:type", EventEmitter)
26700
+ ], GIPIDatetimepickerComponent.prototype, "openedStream", void 0);
26701
+ __decorate([
26702
+ Output('closed'),
26703
+ __metadata("design:type", EventEmitter)
26704
+ ], GIPIDatetimepickerComponent.prototype, "closedStream", void 0);
26705
+ __decorate([
26706
+ Output(),
26707
+ __metadata("design:type", EventEmitter)
26708
+ ], GIPIDatetimepickerComponent.prototype, "viewChanged", void 0);
26709
+ __decorate([
26710
+ Output(),
26711
+ __metadata("design:type", Object)
26712
+ ], GIPIDatetimepickerComponent.prototype, "selectedChanged", void 0);
26713
+ GIPIDatetimepickerComponent = __decorate([
26714
+ Component({
26715
+ selector: 'gipi-mat-datetime-picker',
26716
+ exportAs: 'gipiDatetimePicker',
26717
+ template: '',
26718
+ changeDetection: ChangeDetectionStrategy.OnPush,
26719
+ encapsulation: ViewEncapsulation.None,
26720
+ preserveWhitespaces: false
26721
+ }),
26722
+ __param(4, Inject(MAT_DATEPICKER_SCROLL_STRATEGY$1)),
26723
+ __param(5, Optional()),
26724
+ __param(6, Optional()),
26725
+ __param(7, Optional()), __param(7, Inject(DOCUMENT)),
26726
+ __metadata("design:paramtypes", [MatDialog$1,
26727
+ Overlay,
26728
+ NgZone,
26729
+ ViewContainerRef, Object, GIPIDatetimeAdapter,
26730
+ Directionality, Object])
26731
+ ], GIPIDatetimepickerComponent);
26732
+ return GIPIDatetimepickerComponent;
26733
+ }());
26734
+
26735
+ var GIPIDatetimepickerToggleComponent = /** @class */ (function () {
26736
+ function GIPIDatetimepickerToggleComponent(_intl, _changeDetectorRef) {
26737
+ this._intl = _intl;
26738
+ this._changeDetectorRef = _changeDetectorRef;
26739
+ this._stateChanges = Subscription.EMPTY;
26740
+ }
26741
+ Object.defineProperty(GIPIDatetimepickerToggleComponent.prototype, "disabled", {
26742
+ /** Whether the toggle button is disabled. */
26743
+ get: function () {
26744
+ return this._disabled === undefined
26745
+ ? this.datetimepicker.disabled
26746
+ : !!this._disabled;
26747
+ },
26748
+ set: function (value) {
26749
+ this._disabled = coerceBooleanProperty(value);
26750
+ },
26751
+ enumerable: false,
26752
+ configurable: true
26753
+ });
26754
+ GIPIDatetimepickerToggleComponent.prototype.ngOnChanges = function (changes) {
26755
+ if (changes.datepicker) {
26756
+ this._watchStateChanges();
26757
+ }
26758
+ };
26759
+ GIPIDatetimepickerToggleComponent.prototype.ngOnDestroy = function () {
26760
+ this._stateChanges.unsubscribe();
26761
+ };
26762
+ GIPIDatetimepickerToggleComponent.prototype.ngAfterContentInit = function () {
26763
+ this._watchStateChanges();
26764
+ };
26765
+ GIPIDatetimepickerToggleComponent.prototype._open = function (event) {
26766
+ if (this.datetimepicker && !this.disabled) {
26767
+ this.datetimepicker.open();
26768
+ event.stopPropagation();
26769
+ }
26770
+ };
26771
+ GIPIDatetimepickerToggleComponent.prototype._watchStateChanges = function () {
26772
+ var _this = this;
26773
+ var datepickerDisabled = this.datetimepicker
26774
+ ? this.datetimepicker._disabledChange
26775
+ : of([], asyncScheduler);
26776
+ var inputDisabled = this.datetimepicker && this.datetimepicker._datepickerInput
26777
+ ? this.datetimepicker._datepickerInput._disabledChange
26778
+ : of([], asyncScheduler);
26779
+ this._stateChanges.unsubscribe();
26780
+ this._stateChanges = merge(this._intl.changes, datepickerDisabled, inputDisabled).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
26781
+ };
26782
+ GIPIDatetimepickerToggleComponent.ctorParameters = function () { return [
26783
+ { type: MatDatepickerIntl$1 },
26784
+ { type: ChangeDetectorRef }
26785
+ ]; };
26786
+ __decorate([
26787
+ Input('for'),
26788
+ __metadata("design:type", GIPIDatetimepickerComponent)
26789
+ ], GIPIDatetimepickerToggleComponent.prototype, "datetimepicker", void 0);
26790
+ __decorate([
26791
+ Input(),
26792
+ __metadata("design:type", Boolean),
26793
+ __metadata("design:paramtypes", [Boolean])
26794
+ ], GIPIDatetimepickerToggleComponent.prototype, "disabled", null);
26795
+ GIPIDatetimepickerToggleComponent = __decorate([
26796
+ Component({
26797
+ selector: 'gipi-mat-datetime-picker-toggle',
26798
+ exportAs: 'gipiDatetimePickerToggle',
26799
+ template: "<button [attr.aria-label]=\"_intl.openCalendarLabel\"\n [disabled]=\"disabled\"\n mat-icon-button\n type=\"button\">\n <mat-icon [ngSwitch]=\"datetimepicker.type\">\n <svg *ngSwitchCase=\"'time'\"\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path\n d=\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\">\n </path>\n </svg>\n <svg *ngSwitchCase=\"'datetime'\"\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path\n d=\"M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z\">\n </path>\n </svg>\n <svg *ngSwitchDefault\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path d=\"M0 0h24v24H0z\"\n fill=\"none\" />\n <path\n d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\" />\n </svg>\n </mat-icon>\n</button>",
26800
+ encapsulation: ViewEncapsulation.None,
26801
+ changeDetection: ChangeDetectionStrategy.OnPush,
26802
+ preserveWhitespaces: false,
26803
+ host: {
26804
+ class: 'gipi-mat-datetime-picker-toggle',
26805
+ // Bind the `click` on the host, rather than the inner `button`, so that we can call `stopPropagation`
26806
+ // on it without affecting the user's `click` handlers. We need to stop it so that the input doesn't
26807
+ // get focused automatically by the form field (See https://github.com/angular/components/pull/21856).
26808
+ '(click)': '_open($event)',
26809
+ }
26810
+ }),
26811
+ __metadata("design:paramtypes", [MatDatepickerIntl$1,
26812
+ ChangeDetectorRef])
26813
+ ], GIPIDatetimepickerToggleComponent);
26814
+ return GIPIDatetimepickerToggleComponent;
26815
+ }());
26816
+
26817
+ var nextUniqueId$q = 0;
26818
+ var GIPIDateAndTimePickerComponent = /** @class */ (function () {
26819
+ function GIPIDateAndTimePickerComponent(elementRef, _changeDetectorRef) {
26820
+ this.elementRef = elementRef;
26821
+ this._changeDetectorRef = _changeDetectorRef;
26822
+ this._name = "gipi-mat-datetime-picker-" + nextUniqueId$q++;
26823
+ this.id = this._name;
26824
+ this.name = this._name;
26825
+ this.label = '';
26826
+ this.placeholder = '';
26827
+ this.timeInterval = 1;
26828
+ this.help = '';
26829
+ this._required = false;
26830
+ this._disabled = false;
26831
+ this._type = 'datetime';
26832
+ this.onChange = function () { };
26833
+ this.onTouched = function () { };
26834
+ }
26835
+ GIPIDateAndTimePickerComponent_1 = GIPIDateAndTimePickerComponent;
26836
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "required", {
26837
+ get: function () {
26838
+ return this._required;
26839
+ },
26840
+ set: function (value) {
26841
+ this._required = coerceBooleanProperty(value);
26842
+ },
26843
+ enumerable: false,
26844
+ configurable: true
26845
+ });
26846
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "disabled", {
26847
+ get: function () {
26848
+ return this._disabled;
26849
+ },
26850
+ set: function (value) {
26851
+ this._disabled = coerceBooleanProperty(value);
26852
+ },
26853
+ enumerable: false,
26854
+ configurable: true
26855
+ });
26856
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "value", {
26857
+ get: function () {
26858
+ return this._value;
26859
+ },
26860
+ set: function (value) {
26861
+ if (value instanceof Date) {
26862
+ this._value = value;
26863
+ }
26864
+ else {
26865
+ this._value = new Date(value);
26866
+ }
26867
+ this.onChange(this._value);
26868
+ this.onTouched(this._value);
26869
+ },
26870
+ enumerable: false,
26871
+ configurable: true
26872
+ });
26873
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "type", {
26874
+ get: function () {
26875
+ return this._type;
26876
+ },
26877
+ set: function (value) {
26878
+ this._type = value || 'datetime';
26879
+ },
26880
+ enumerable: false,
26881
+ configurable: true
26882
+ });
26883
+ GIPIDateAndTimePickerComponent.prototype.ngOnInit = function () { };
26884
+ GIPIDateAndTimePickerComponent.prototype.writeValue = function (value) {
26885
+ this._value = value;
26886
+ };
26887
+ GIPIDateAndTimePickerComponent.prototype.registerOnChange = function (fn) {
26888
+ this.onChange = fn;
26889
+ };
26890
+ GIPIDateAndTimePickerComponent.prototype.registerOnTouched = function (fn) {
26891
+ this.onTouched = fn;
26892
+ };
26893
+ GIPIDateAndTimePickerComponent.prototype.setDisabledState = function (isDisabled) {
26894
+ this.disabled = isDisabled;
26895
+ this._changeDetectorRef.markForCheck();
26896
+ };
26897
+ GIPIDateAndTimePickerComponent.prototype.toggleDatetimePicker = function (event) {
26898
+ if (!ObjectUtil.isNull(this.GIPIDatetimepickerToggleRef)) {
26899
+ this.GIPIDatetimepickerToggleRef._open(event);
26900
+ }
26901
+ };
26902
+ var GIPIDateAndTimePickerComponent_1;
26903
+ GIPIDateAndTimePickerComponent.ctorParameters = function () { return [
26904
+ { type: ElementRef },
26905
+ { type: ChangeDetectorRef }
26906
+ ]; };
26907
+ __decorate([
26908
+ ViewChild('dateTimePickerToggle', { static: true }),
26909
+ __metadata("design:type", GIPIDatetimepickerToggleComponent)
26910
+ ], GIPIDateAndTimePickerComponent.prototype, "GIPIDatetimepickerToggleRef", void 0);
26911
+ __decorate([
26912
+ Input(),
26913
+ __metadata("design:type", String)
26914
+ ], GIPIDateAndTimePickerComponent.prototype, "id", void 0);
26915
+ __decorate([
26916
+ Input(),
26917
+ __metadata("design:type", String)
26918
+ ], GIPIDateAndTimePickerComponent.prototype, "name", void 0);
26919
+ __decorate([
26920
+ Input(),
26921
+ __metadata("design:type", String)
26922
+ ], GIPIDateAndTimePickerComponent.prototype, "label", void 0);
26923
+ __decorate([
26924
+ Input(),
26925
+ __metadata("design:type", String)
26926
+ ], GIPIDateAndTimePickerComponent.prototype, "placeholder", void 0);
26927
+ __decorate([
26928
+ Input('min'),
26929
+ __metadata("design:type", Date)
26930
+ ], GIPIDateAndTimePickerComponent.prototype, "minDate", void 0);
26931
+ __decorate([
26932
+ Input('max'),
26933
+ __metadata("design:type", Date)
26934
+ ], GIPIDateAndTimePickerComponent.prototype, "maxDate", void 0);
26935
+ __decorate([
26936
+ Input(),
26937
+ __metadata("design:type", Number)
26938
+ ], GIPIDateAndTimePickerComponent.prototype, "timeInterval", void 0);
26939
+ __decorate([
26940
+ Input(),
26941
+ __metadata("design:type", String)
26942
+ ], GIPIDateAndTimePickerComponent.prototype, "help", void 0);
26943
+ __decorate([
26944
+ Input(),
26945
+ __metadata("design:type", Boolean),
26946
+ __metadata("design:paramtypes", [Boolean])
26947
+ ], GIPIDateAndTimePickerComponent.prototype, "required", null);
26948
+ __decorate([
26949
+ Input(),
26950
+ __metadata("design:type", Boolean),
26951
+ __metadata("design:paramtypes", [Boolean])
26952
+ ], GIPIDateAndTimePickerComponent.prototype, "disabled", null);
26953
+ __decorate([
26954
+ Input(),
26955
+ __metadata("design:type", Object),
26956
+ __metadata("design:paramtypes", [Object])
26957
+ ], GIPIDateAndTimePickerComponent.prototype, "value", null);
26958
+ __decorate([
26959
+ Input(),
26960
+ __metadata("design:type", String),
26961
+ __metadata("design:paramtypes", [String])
26962
+ ], GIPIDateAndTimePickerComponent.prototype, "type", null);
26963
+ GIPIDateAndTimePickerComponent = GIPIDateAndTimePickerComponent_1 = __decorate([
26964
+ Component({
26965
+ selector: 'gipi-datetime-picker',
26966
+ exportAs: 'gipiDatetimePicker',
26967
+ template: "<div class=\"datetime-wrapper\">\n\n <label *ngIf=\"label\"\n class=\"datetime-label\"\n [attr.for]=\"id\">\n {{ label }}\n <span *ngIf=\"required\"> * </span>\n </label>\n\n <div class=\"datetime-content\">\n\n <input inputRef\n class=\"datetime-element\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [placeholder]=\"placeholder\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readOnly]=\"true\"\n [autocomplete]=\"'off'\"\n [(ngModel)]=\"value\"\n [value]=\"value\"\n [gipiMatDatetimePicker]=\"datetimePicker\"\n (click)=\"toggleDatetimePicker($event)\" />\n\n <div class=\"suffix\">\n <gipi-mat-datetime-picker-toggle #dateTimePickerToggle\n [for]=\"datetimePicker\">\n </gipi-mat-datetime-picker-toggle>\n </div>\n\n <gipi-mat-datetime-picker #datetimePicker\n [openOnFocus]=\"false\"\n [mode]=\"'portrait'\"\n [multiYearSelector]=\"true\"\n [disabled]=\"disabled\"\n [timeInterval]=\"timeInterval\"\n [type]=\"type\">\n </gipi-mat-datetime-picker>\n </div>\n\n <small *ngIf=\"help\"\n class=\"datetime-help\">\n {{ help }}\n </small>\n</div>",
26968
+ providers: [
26969
+ {
26970
+ provide: NG_VALUE_ACCESSOR,
26971
+ useExisting: forwardRef(function () { return GIPIDateAndTimePickerComponent_1; }),
26972
+ multi: true
26973
+ },
26974
+ ],
26975
+ host: {
26976
+ 'class': 'gipi-mat-datetime-picker',
26977
+ },
26978
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.datetime-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.datetime-wrapper .datetime-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.datetime-wrapper .datetime-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.datetime-wrapper .datetime-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid #0000001f;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:6px;cursor:pointer}.datetime-wrapper .datetime-content .datetime-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0;cursor:pointer}.datetime-wrapper .datetime-content:not(.datetime-element:disabled):has(.datetime-element:enabled:hover),.datetime-wrapper .datetime-content:not(.datetime-element:disabled):has(.suffix:hover){border-color:#6d6f73}.datetime-wrapper .datetime-content:not(.datetime-element:disabled):has(.datetime-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.datetime-wrapper .datetime-content:has(.datetime-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.datetime-wrapper .datetime-content .datetime-element:disabled{cursor:not-allowed}.datetime-wrapper .datetime-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.datetime-wrapper .datetime-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .gipi-mat-datetime-picker-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}::ng-deep .gipi-mat-datetime-picker-toggle>button{width:2rem!important;height:2rem!important;line-height:2rem!important}::ng-deep .gipi-mat-datetime-picker-toggle>button .mat-button-wrapper>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;line-height:2rem!important;color:#696969!important}::ng-deep .gipi-mat-datetime-picker-toggle>button .mat-button-focus-overlay,::ng-deep .gipi-mat-datetime-picker-toggle>button .mat-button-ripple{display:none!important}::ng-deep .gipi-mat-datetime-picker-content{border-radius:6px!important}::ng-deep .gipi-mat-datetime-picker-calendar-header{border-top-left-radius:6px!important;border-top-right-radius:6px!important}::ng-deep .gipi-mat-datetime-picker-calendar-body-active>.gipi-mat-datetime-picker-calendar-body-cell-content:not(.gipi-mat-datetime-picker-calendar-body-selected){background-color:#f3e7e7!important;color:#e0313e!important}::ng-deep .gipi-mat-datetime-picker-calendar-body-cell .gipi-mat-datetime-picker-calendar-body-today{border-color:#e0313e!important}::ng-deep .gipi-mat-datetime-picker-calendar-body-cell .gipi-mat-datetime-picker-calendar-body-today.gipi-mat-datetime-picker-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff!important}::ng-deep .gipi-mat-datetime-picker-calendar-body-cell .gipi-mat-datetime-picker-calendar-body-selected{background-color:#e0313e!important;color:#fff!important}::ng-deep .gipi-mat-datetime-picker-clock{background-color:#f5f5f6!important}::ng-deep .gipi-mat-datetime-picker-clock-center,::ng-deep .gipi-mat-datetime-picker-clock-hand,::ng-deep .gipi-mat-datetime-picker-clock-hand::before{background-color:#e0313e!important}::ng-deep .gipi-mat-datetime-picker-clock-cell.gipi-mat-datetime-picker-clock-cell-selected{color:#fff!important;background-color:#e0313e!important}::-webkit-input-placeholder{color:#bbbdc1}:-moz-placeholder{color:#bbbdc1}::-moz-placeholder{color:#bbbdc1}:-ms-input-placeholder{color:#bbbdc1}"]
26979
+ }),
26980
+ __metadata("design:paramtypes", [ElementRef,
26981
+ ChangeDetectorRef])
26982
+ ], GIPIDateAndTimePickerComponent);
26983
+ return GIPIDateAndTimePickerComponent;
26984
+ }());
26985
+
26986
+ var CLOCK_RADIUS = 50;
26987
+ var CLOCK_INNER_RADIUS = 27.5;
26988
+ var CLOCK_OUTER_RADIUS = 41.25;
26989
+ var CLOCK_TICK_RADIUS = 7.0833;
26990
+ /**
26991
+ * A clock that is used as part of the datepicker.
26992
+ * @docs-private
26993
+ */
26994
+ var GIPIDatetimepickerClockComponent = /** @class */ (function () {
26995
+ function GIPIDatetimepickerClockComponent(_element, _adapter) {
26996
+ var _this = this;
26997
+ this._element = _element;
26998
+ this._adapter = _adapter;
26999
+ /** Hours and Minutes representing the clock view. */
27000
+ this._hours = [];
27001
+ this._minutes = [];
27002
+ /** Whether the clock is in hour view. */
27003
+ this._hourView = true;
27004
+ this._timeChanged = false;
27005
+ this.interval = 1;
27006
+ this.twelvehour = false;
27007
+ /** Emits when the currently selected date changes. */
27008
+ this.selectedChange = new EventEmitter();
27009
+ this.activeDateChange = new EventEmitter();
27010
+ this._userSelection = new EventEmitter();
27011
+ this.mouseMoveListener = function (event) { return _this._handleMousemove(event); };
27012
+ this.mouseUpListener = function () { return _this._handleMouseup(); };
27013
+ }
27014
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "activeDate", {
27015
+ get: function () {
27016
+ return this._activeDate;
27017
+ },
27018
+ set: function (value) {
27019
+ var oldActiveDate = this._activeDate;
27020
+ this._activeDate = this._adapter.clampDate(value, this.minDate, this.maxDate);
27021
+ if (!this._adapter.sameMinute(oldActiveDate, this._activeDate)) {
27022
+ this._init();
27023
+ }
27024
+ },
27025
+ enumerable: false,
27026
+ configurable: true
27027
+ });
27028
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "selected", {
27029
+ get: function () {
27030
+ return this._selected;
27031
+ },
27032
+ set: function (value) {
27033
+ this._selected = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27034
+ if (this._selected) {
27035
+ this.activeDate = this._selected;
27036
+ }
27037
+ },
27038
+ enumerable: false,
27039
+ configurable: true
27040
+ });
27041
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "minDate", {
27042
+ get: function () {
27043
+ return this._minDate;
27044
+ },
27045
+ set: function (value) {
27046
+ this._minDate = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27047
+ },
27048
+ enumerable: false,
27049
+ configurable: true
27050
+ });
27051
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "maxDate", {
27052
+ get: function () {
27053
+ return this._maxDate;
27054
+ },
27055
+ set: function (value) {
27056
+ this._maxDate = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27057
+ },
27058
+ enumerable: false,
27059
+ configurable: true
27060
+ });
27061
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "startView", {
27062
+ /** Whether the clock should be started in hour or minute view. */
27063
+ set: function (value) {
27064
+ this._hourView = value != 'minute';
27065
+ },
27066
+ enumerable: false,
27067
+ configurable: true
27068
+ });
27069
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "_hand", {
27070
+ get: function () {
27071
+ var hour = this._adapter.getHour(this.activeDate);
27072
+ if (!!this.twelvehour) {
27073
+ if (hour === 0) {
27074
+ hour = 24;
27075
+ }
27076
+ this._selectedHour = hour > 12 ? hour - 12 : hour;
27077
+ }
27078
+ else {
27079
+ this._selectedHour = hour;
27080
+ }
27081
+ this._selectedMinute = this._adapter.getMinute(this.activeDate);
27082
+ var deg = 0;
27083
+ var radius = CLOCK_OUTER_RADIUS;
27084
+ if (this._hourView) {
27085
+ var outer = this._selectedHour > 0 && this._selectedHour < 13;
27086
+ radius = outer ? CLOCK_OUTER_RADIUS : CLOCK_INNER_RADIUS;
27087
+ if (this.twelvehour) {
27088
+ radius = CLOCK_OUTER_RADIUS;
27089
+ }
27090
+ deg = Math.round(this._selectedHour * (360 / (24 / 2)));
27091
+ }
27092
+ else {
27093
+ deg = Math.round(this._selectedMinute * (360 / 60));
27094
+ }
27095
+ return {
27096
+ transform: "rotate(" + deg + "deg)",
27097
+ height: radius + "%",
27098
+ 'margin-top': 50 - radius + "%",
27099
+ };
27100
+ },
27101
+ enumerable: false,
27102
+ configurable: true
27103
+ });
27104
+ GIPIDatetimepickerClockComponent.prototype.ngAfterContentInit = function () {
27105
+ this.activeDate = this._activeDate || this._adapter.today();
27106
+ this._init();
27107
+ };
27108
+ /** Handles mousedown events on the clock body. */
27109
+ GIPIDatetimepickerClockComponent.prototype._handleMousedown = function (event) {
27110
+ this._timeChanged = false;
27111
+ this.setTime(event);
27112
+ document.addEventListener('mousemove', this.mouseMoveListener);
27113
+ document.addEventListener('touchmove', this.mouseMoveListener);
27114
+ document.addEventListener('mouseup', this.mouseUpListener);
27115
+ document.addEventListener('touchend', this.mouseUpListener);
27116
+ };
27117
+ GIPIDatetimepickerClockComponent.prototype._handleMousemove = function (event) {
27118
+ event.preventDefault();
27119
+ this.setTime(event);
27120
+ };
27121
+ GIPIDatetimepickerClockComponent.prototype._handleMouseup = function () {
27122
+ document.removeEventListener('mousemove', this.mouseMoveListener);
27123
+ document.removeEventListener('touchmove', this.mouseMoveListener);
27124
+ document.removeEventListener('mouseup', this.mouseUpListener);
27125
+ document.removeEventListener('touchend', this.mouseUpListener);
27126
+ if (this._timeChanged) {
27127
+ this.selectedChange.emit(this.activeDate);
27128
+ if (!this._hourView) {
27129
+ this._userSelection.emit();
27130
+ }
27131
+ }
27132
+ };
27133
+ /** Initializes this clock view. */
27134
+ GIPIDatetimepickerClockComponent.prototype._init = function () {
27135
+ this._hours.length = 0;
27136
+ this._minutes.length = 0;
27137
+ var hourNames = this._adapter.getHourNames();
27138
+ var minuteNames = this._adapter.getMinuteNames();
27139
+ if (this.twelvehour) {
27140
+ for (var i = 1; i < hourNames.length / 2 + 1; i++) {
27141
+ var radian = (i / 6) * Math.PI;
27142
+ var radius = CLOCK_OUTER_RADIUS;
27143
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), i + 1, 0);
27144
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate) >= 0) &&
27145
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate) <= 0);
27146
+ this._hours.push({
27147
+ value: i,
27148
+ displayValue: i === 0 ? '00' : hourNames[i],
27149
+ enabled: enabled,
27150
+ top: CLOCK_RADIUS - Math.cos(radian) * radius - CLOCK_TICK_RADIUS,
27151
+ left: CLOCK_RADIUS + Math.sin(radian) * radius - CLOCK_TICK_RADIUS,
27152
+ });
27153
+ }
27154
+ }
27155
+ else {
27156
+ for (var i = 0; i < hourNames.length; i++) {
27157
+ var radian = (i / 6) * Math.PI;
27158
+ var outer = i > 0 && i < 13, radius = outer ? CLOCK_OUTER_RADIUS : CLOCK_INNER_RADIUS;
27159
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), i, 0);
27160
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate, false) >= 0) &&
27161
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate, false) <= 0) &&
27162
+ (!this.dateFilter || this.dateFilter(date, GIPIDatetimepickerFilterType.HOUR));
27163
+ this._hours.push({
27164
+ value: i,
27165
+ displayValue: i === 0 ? '00' : hourNames[i],
27166
+ enabled: enabled,
27167
+ top: CLOCK_RADIUS - Math.cos(radian) * radius - CLOCK_TICK_RADIUS,
27168
+ left: CLOCK_RADIUS + Math.sin(radian) * radius - CLOCK_TICK_RADIUS,
27169
+ fontSize: i > 0 && i < 13 ? '' : '80%',
27170
+ });
27171
+ }
27172
+ }
27173
+ for (var i = 0; i < minuteNames.length; i += 5) {
27174
+ var radian = (i / 30) * Math.PI;
27175
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), this._adapter.getHour(this.activeDate), i);
27176
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate) >= 0) &&
27177
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate) <= 0) &&
27178
+ (!this.dateFilter || this.dateFilter(date, GIPIDatetimepickerFilterType.MINUTE));
27179
+ this._minutes.push({
27180
+ value: i,
27181
+ displayValue: i === 0 ? '00' : minuteNames[i],
27182
+ enabled: enabled,
27183
+ top: CLOCK_RADIUS - Math.cos(radian) * CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS,
27184
+ left: CLOCK_RADIUS + Math.sin(radian) * CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS,
27185
+ });
27186
+ }
27187
+ };
27188
+ /**
27189
+ * Set Time
27190
+ * @param event
27191
+ */
27192
+ GIPIDatetimepickerClockComponent.prototype.setTime = function (event) {
27193
+ var _a, _b;
27194
+ var trigger = this._element.nativeElement;
27195
+ var triggerRect = trigger.getBoundingClientRect();
27196
+ var width = trigger.offsetWidth;
27197
+ var height = trigger.offsetHeight;
27198
+ var pageX = event.pageX !== undefined ? event.pageX : event.touches[0].pageX;
27199
+ var pageY = event.pageY !== undefined ? event.pageY : event.touches[0].pageY;
27200
+ var x = width / 2 - (pageX - triggerRect.left - window.pageXOffset);
27201
+ var y = height / 2 - (pageY - triggerRect.top - window.pageYOffset);
27202
+ var radian = Math.atan2(-x, y);
27203
+ var unit = Math.PI / (this._hourView ? 6 : this.interval ? 30 / this.interval : 30);
27204
+ var z = Math.sqrt(x * x + y * y);
27205
+ var outer = this._hourView && z > (width * (CLOCK_OUTER_RADIUS / 100) + width * (CLOCK_INNER_RADIUS / 100)) / 2;
27206
+ if (radian < 0) {
27207
+ radian = Math.PI * 2 + radian;
27208
+ }
27209
+ var value = Math.round(radian / unit);
27210
+ var date;
27211
+ if (this._hourView) {
27212
+ if (this.twelvehour) {
27213
+ value = value === 0 ? 12 : value;
27214
+ }
27215
+ else {
27216
+ if (value === 12) {
27217
+ value = 0;
27218
+ }
27219
+ value = outer ? value === 0 ? 12 : value : value === 0 ? 0 : value + 12;
27220
+ }
27221
+ // Don't close the hours view if an invalid hour is clicked.
27222
+ if (!((_a = this._hours.find(function (h) { return (h === null || h === void 0 ? void 0 : h['value']) === value; })) === null || _a === void 0 ? void 0 : _a['enabled'])) {
27223
+ return;
27224
+ }
27225
+ date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), value, this._adapter.getMinute(this.activeDate));
27226
+ }
27227
+ else {
27228
+ if (this.interval) {
27229
+ value *= this.interval;
27230
+ }
27231
+ if (value === 60) {
27232
+ value = 0;
27233
+ }
27234
+ // Don't close the minutes view if an invalid minute is clicked.
27235
+ if (!((_b = this._minutes.find(function (m) { return (m === null || m === void 0 ? void 0 : m['value']) === value; })) === null || _b === void 0 ? void 0 : _b['enabled'])) {
27236
+ return;
27237
+ }
27238
+ date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), this._adapter.getHour(this.activeDate), value);
27239
+ }
27240
+ this._timeChanged = true;
27241
+ this.activeDate = date;
27242
+ this.activeDateChange.emit(this.activeDate);
27243
+ };
27244
+ GIPIDatetimepickerClockComponent.ctorParameters = function () { return [
27245
+ { type: ElementRef },
27246
+ { type: GIPIDatetimeAdapter }
27247
+ ]; };
27248
+ __decorate([
27249
+ Input(),
27250
+ __metadata("design:type", Function)
27251
+ ], GIPIDatetimepickerClockComponent.prototype, "dateFilter", void 0);
27252
+ __decorate([
27253
+ Input(),
27254
+ __metadata("design:type", Number)
27255
+ ], GIPIDatetimepickerClockComponent.prototype, "interval", void 0);
27256
+ __decorate([
27257
+ Input(),
27258
+ __metadata("design:type", Boolean)
27259
+ ], GIPIDatetimepickerClockComponent.prototype, "twelvehour", void 0);
27260
+ __decorate([
27261
+ Input(),
27262
+ __metadata("design:type", Object),
27263
+ __metadata("design:paramtypes", [Object])
27264
+ ], GIPIDatetimepickerClockComponent.prototype, "activeDate", null);
27265
+ __decorate([
27266
+ Input(),
27267
+ __metadata("design:type", Object),
27268
+ __metadata("design:paramtypes", [Object])
27269
+ ], GIPIDatetimepickerClockComponent.prototype, "selected", null);
27270
+ __decorate([
27271
+ Input(),
27272
+ __metadata("design:type", Object),
27273
+ __metadata("design:paramtypes", [Object])
27274
+ ], GIPIDatetimepickerClockComponent.prototype, "minDate", null);
27275
+ __decorate([
27276
+ Input(),
27277
+ __metadata("design:type", Object),
27278
+ __metadata("design:paramtypes", [Object])
27279
+ ], GIPIDatetimepickerClockComponent.prototype, "maxDate", null);
27280
+ __decorate([
27281
+ Input(),
27282
+ __metadata("design:type", String),
27283
+ __metadata("design:paramtypes", [String])
27284
+ ], GIPIDatetimepickerClockComponent.prototype, "startView", null);
27285
+ __decorate([
27286
+ Output(),
27287
+ __metadata("design:type", Object)
27288
+ ], GIPIDatetimepickerClockComponent.prototype, "selectedChange", void 0);
27289
+ __decorate([
27290
+ Output(),
27291
+ __metadata("design:type", Object)
27292
+ ], GIPIDatetimepickerClockComponent.prototype, "activeDateChange", void 0);
27293
+ __decorate([
27294
+ Output(),
27295
+ __metadata("design:type", Object)
27296
+ ], GIPIDatetimepickerClockComponent.prototype, "_userSelection", void 0);
27297
+ GIPIDatetimepickerClockComponent = __decorate([
27298
+ Component({
27299
+ selector: 'gipi-mat-datetime-picker-clock',
27300
+ template: "<div class=\"gipi-mat-datetime-picker-clock\">\n <div class=\"gipi-mat-datetime-picker-clock-center\"></div>\n <div [ngStyle]=\"_hand\"\n class=\"gipi-mat-datetime-picker-clock-hand\"></div>\n <div [class.active]=\"_hourView\"\n class=\"gipi-mat-datetime-picker-clock-hours\">\n <div *ngFor=\"let item of _hours\"\n [class.gipi-mat-datetime-picker-clock-cell-disabled]=\"!item.enabled\"\n [class.gipi-mat-datetime-picker-clock-cell-selected]=\"_selectedHour === item.value\"\n [style.fontSize]=\"item.fontSize\"\n [style.left]=\"item.left + '%'\"\n [style.top]=\"item.top + '%'\"\n class=\"gipi-mat-datetime-picker-clock-cell\">\n {{ item.displayValue }}\n </div>\n </div>\n <div [class.active]=\"!_hourView\"\n class=\"gipi-mat-datetime-picker-clock-minutes\">\n <div *ngFor=\"let item of _minutes\"\n [class.gipi-mat-datetime-picker-clock-cell-disabled]=\"!item.enabled\"\n [class.gipi-mat-datetime-picker-clock-cell-selected]=\"_selectedMinute === item.value\"\n [style.left]=\"item.left + '%'\"\n [style.top]=\"item.top + '%'\"\n class=\"gipi-mat-datetime-picker-clock-cell\">\n {{ item.displayValue }}\n </div>\n </div>\n</div>",
27301
+ host: {
27302
+ role: 'clock',
27303
+ '(mousedown)': '_handleMousedown($event)',
27304
+ },
27305
+ styles: [":host{position:relative;display:block;min-width:224px;margin:8px;font-size:14px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gipi-mat-datetime-picker-clock{position:relative;width:100%;height:0;padding-top:100%;background-color:#e0e0e0;border-radius:50%}.gipi-mat-datetime-picker-clock-center{position:absolute;top:50%;left:50%;width:2%;height:2%;margin:-1%;border-radius:50%}.gipi-mat-datetime-picker-clock-hand{position:absolute;top:0;right:0;bottom:0;left:0;width:1px;margin:0 auto;transform-origin:bottom}.gipi-mat-datetime-picker-clock-hand::before{content:'';position:absolute;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%}.gipi-mat-datetime-picker-clock-hours,.gipi-mat-datetime-picker-clock-minutes{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:350ms;transform:scale(1.2)}.gipi-mat-datetime-picker-clock-hours.active,.gipi-mat-datetime-picker-clock-minutes.active{opacity:1;visibility:visible;transform:scale(1)}.gipi-mat-datetime-picker-clock-minutes{transform:scale(.8)}.gipi-mat-datetime-picker-clock-cell{position:absolute;display:flex;width:14.1666%;height:14.1666%;color:rgba(0,0,0,.87);justify-content:center;box-sizing:border-box;border-radius:50%;align-items:center;cursor:pointer}.gipi-mat-datetime-picker-clock-cell:not(.gipi-mat-datetime-picker-clock-cell-selected):not(.gipi-mat-datetime-picker-clock-cell-disabled):hover{background-color:rgba(0,0,0,.1)}.gipi-mat-datetime-picker-clock-cell.gipi-mat-datetime-picker-clock-cell-disabled{color:rgba(0,0,0,.38);pointer-events:none}.gipi-mat-datetime-picker-clock-cell.gipi-mat-datetime-picker-clock-cell-selected{color:#fff}"]
27306
+ }),
27307
+ __metadata("design:paramtypes", [ElementRef,
27308
+ GIPIDatetimeAdapter])
27309
+ ], GIPIDatetimepickerClockComponent);
27310
+ return GIPIDatetimepickerClockComponent;
27311
+ }());
27312
+
27313
+ var GIPI_DATETIMEPICKER_VALUE_ACCESSOR = {
27314
+ provide: NG_VALUE_ACCESSOR,
27315
+ useExisting: forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
27316
+ multi: true,
27317
+ };
27318
+ var GIPI_DATETIMEPICKER_VALIDATORS = {
27319
+ provide: NG_VALIDATORS,
27320
+ useExisting: forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
27321
+ multi: true,
27322
+ };
27323
+ /**
27324
+ * An event used for datepicker input and change events. We don't always have access to a native
27325
+ * input or change event because the event may have been triggered by the user clicking on the
27326
+ * calendar popup. For consistency, we always use MatDatepickerInputEvent instead.
27327
+ */
27328
+ var GIPIDatetimepickerInputEvent = /** @class */ (function () {
27329
+ function GIPIDatetimepickerInputEvent(target, targetElement) {
27330
+ this.target = target;
27331
+ this.targetElement = targetElement;
27332
+ this.value = this.target.value;
27333
+ }
27334
+ return GIPIDatetimepickerInputEvent;
27335
+ }());
27336
+ /** Directive used to connect an input to a MatDatepicker. */
27337
+ var GIPIDatetimepickerInputDirective = /** @class */ (function () {
27338
+ function GIPIDatetimepickerInputDirective(_elementRef, _dateAdapter, _dateFormats, _formField) {
27339
+ var _this = this;
27340
+ this._elementRef = _elementRef;
27341
+ this._dateAdapter = _dateAdapter;
27342
+ this._dateFormats = _dateFormats;
27343
+ this._formField = _formField;
27344
+ /** Emits when the value changes (either due to user input or programmatic change). */
27345
+ this._valueChange = new EventEmitter();
27346
+ /** Emits when the disabled state has changed */
27347
+ this._disabledChange = new EventEmitter();
27348
+ this._datepickerSubscription = Subscription.EMPTY;
27349
+ this._localeSubscription = Subscription.EMPTY;
27350
+ /** Whether the last value set on the input was valid. */
27351
+ this._lastValueValid = false;
27352
+ /** Emits when a `change` event is fired on this `<input>`. */
27353
+ this.dateChange = new EventEmitter();
27354
+ /** Emits when an `input` event is fired on this `<input>`. */
27355
+ this.dateInput = new EventEmitter();
27356
+ this._onTouched = function () { };
27357
+ this._cvaOnChange = function () { };
27358
+ this._validatorOnChange = function () { };
27359
+ /** The form control validator for whether the input parses. */
27360
+ this._parseValidator = function () {
27361
+ return _this._lastValueValid
27362
+ ? null
27363
+ : { matDatepickerParse: { text: _this._elementRef.nativeElement.value } };
27364
+ };
27365
+ /** The form control validator for the min date. */
27366
+ this._minValidator = function (control) {
27367
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27368
+ return !_this.min ||
27369
+ !controlValue ||
27370
+ _this._dateAdapter.compareDatetime(_this.min, controlValue) <= 0 ? null : { matDatepickerMin: { min: _this.min, actual: controlValue } };
27371
+ };
27372
+ /** The form control validator for the max date. */
27373
+ this._maxValidator = function (control) {
27374
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27375
+ return !_this.max ||
27376
+ !controlValue ||
27377
+ _this._dateAdapter.compareDatetime(_this.max, controlValue) >= 0 ? null : { matDatepickerMax: { max: _this.max, actual: controlValue } };
27378
+ };
27379
+ /** The form control validator for the date filter. */
27380
+ this._filterValidator = function (control) {
27381
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27382
+ return !_this._dateFilter ||
27383
+ !controlValue ||
27384
+ _this._dateFilter(controlValue, GIPIDatetimepickerFilterType.DATE)
27385
+ ? null
27386
+ : { matDatepickerFilter: true };
27387
+ };
27388
+ /** The combined form control validator for this input. */
27389
+ this._validator = Validators.compose([
27390
+ this._parseValidator,
27391
+ this._minValidator,
27392
+ this._maxValidator,
27393
+ this._filterValidator,
27394
+ ]);
27395
+ if (!this._dateAdapter) {
27396
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
27397
+ }
27398
+ if (!this._dateFormats) {
27399
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
27400
+ }
27401
+ // Update the displayed date when the locale changes.
27402
+ this._localeSubscription = _dateAdapter.localeChanges.subscribe(function () { return _this.value = _this.value; });
27403
+ }
27404
+ GIPIDatetimepickerInputDirective_1 = GIPIDatetimepickerInputDirective;
27405
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", {
27406
+ /** The datepicker that this input is associated with. */
27407
+ set: function (value) {
27408
+ this.registerDatepicker(value);
27409
+ },
27410
+ enumerable: false,
27411
+ configurable: true
27412
+ });
27413
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", {
27414
+ set: function (filter) {
27415
+ this._dateFilter = filter;
27416
+ this._validatorOnChange();
27417
+ },
27418
+ enumerable: false,
27419
+ configurable: true
27420
+ });
27421
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "value", {
27422
+ get: function () {
27423
+ return this._value;
27424
+ },
27425
+ set: function (value) {
27426
+ var _this = this;
27427
+ value = this._dateAdapter.deserialize(value);
27428
+ this._lastValueValid = !value || this._dateAdapter.isValid(value);
27429
+ value = this._dateAdapter.getValidDateOrNull(value);
27430
+ var oldDate = this.value;
27431
+ this._value = value;
27432
+ this._formatValue(value);
27433
+ // use timeout to ensure the datetimepicker is instantiated and we get the correct format
27434
+ setTimeout(function () {
27435
+ if (!_this._dateAdapter.sameDatetime(oldDate, value)) {
27436
+ _this._valueChange.emit(value);
27437
+ }
27438
+ });
27439
+ },
27440
+ enumerable: false,
27441
+ configurable: true
27442
+ });
27443
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "min", {
27444
+ get: function () {
27445
+ return this._min;
27446
+ },
27447
+ set: function (value) {
27448
+ this._min = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
27449
+ this._validatorOnChange();
27450
+ },
27451
+ enumerable: false,
27452
+ configurable: true
27453
+ });
27454
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "max", {
27455
+ get: function () {
27456
+ return this._max;
27457
+ },
27458
+ set: function (value) {
27459
+ this._max = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
27460
+ this._validatorOnChange();
27461
+ },
27462
+ enumerable: false,
27463
+ configurable: true
27464
+ });
27465
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "disabled", {
27466
+ get: function () {
27467
+ return !!this._disabled;
27468
+ },
27469
+ set: function (value) {
27470
+ var newValue = coerceBooleanProperty(value);
27471
+ if (this._disabled !== newValue) {
27472
+ this._disabled = newValue;
27473
+ this._disabledChange.emit(newValue);
27474
+ }
27475
+ },
27476
+ enumerable: false,
27477
+ configurable: true
27478
+ });
27479
+ GIPIDatetimepickerInputDirective.prototype.ngAfterContentInit = function () {
27480
+ var _this = this;
27481
+ if (this._datepicker) {
27482
+ this._datepickerSubscription = this._datepicker.selectedChanged.subscribe(function (selected) {
27483
+ _this.value = selected;
27484
+ _this._cvaOnChange(selected);
27485
+ _this._onTouched();
27486
+ _this.dateInput.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
27487
+ _this.dateChange.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
27488
+ });
27489
+ }
27490
+ };
27491
+ GIPIDatetimepickerInputDirective.prototype.ngOnDestroy = function () {
27492
+ this._datepickerSubscription.unsubscribe();
27493
+ this._localeSubscription.unsubscribe();
27494
+ this._valueChange.complete();
27495
+ this._disabledChange.complete();
27496
+ };
27497
+ GIPIDatetimepickerInputDirective.prototype.registerOnValidatorChange = function (fn) {
27498
+ this._validatorOnChange = fn;
27499
+ };
27500
+ GIPIDatetimepickerInputDirective.prototype.validate = function (c) {
27501
+ return this._validator ? this._validator(c) : null;
27502
+ };
27503
+ /**
27504
+ * Gets the element that the datepicker popup should be connected to.
27505
+ * @return The element to connect the popup to.
27506
+ */
27507
+ GIPIDatetimepickerInputDirective.prototype.getConnectedOverlayOrigin = function () {
27508
+ return this._formField
27509
+ ? this._formField.getConnectedOverlayOrigin()
27510
+ : this._elementRef;
27511
+ };
27512
+ // Implemented as part of ControlValueAccessor
27513
+ GIPIDatetimepickerInputDirective.prototype.writeValue = function (value) {
27514
+ this.value = value;
27515
+ };
27516
+ // Implemented as part of ControlValueAccessor
27517
+ GIPIDatetimepickerInputDirective.prototype.registerOnChange = function (fn) {
27518
+ this._cvaOnChange = fn;
27519
+ };
27520
+ // Implemented as part of ControlValueAccessor
27521
+ GIPIDatetimepickerInputDirective.prototype.registerOnTouched = function (fn) {
27522
+ this._onTouched = fn;
27523
+ };
27524
+ // Implemented as part of ControlValueAccessor
27525
+ GIPIDatetimepickerInputDirective.prototype.setDisabledState = function (disabled) {
27526
+ this.disabled = disabled;
27527
+ };
27528
+ GIPIDatetimepickerInputDirective.prototype._onKeydown = function (event) {
27529
+ if (event.altKey && event.keyCode === DOWN_ARROW) {
27530
+ this._datepicker.open();
27531
+ event.preventDefault();
27532
+ }
27533
+ };
27534
+ GIPIDatetimepickerInputDirective.prototype._onInput = function (value) {
27535
+ var date = this._dateAdapter.parse(value, this.getParseFormat());
27536
+ this._lastValueValid = !date || this._dateAdapter.isValid(date);
27537
+ date = this._dateAdapter.getValidDateOrNull(date);
27538
+ this._value = date;
27539
+ this._cvaOnChange(date);
27540
+ this._valueChange.emit(date);
27541
+ this.dateInput.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
27542
+ };
27543
+ GIPIDatetimepickerInputDirective.prototype._onChange = function () {
27544
+ this.dateChange.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
27545
+ };
27546
+ /** Handles blur events on the input. */
27547
+ GIPIDatetimepickerInputDirective.prototype._onBlur = function () {
27548
+ // Reformat the input only if we have a valid value.
27549
+ if (this.value) {
27550
+ this._formatValue(this.value);
27551
+ }
27552
+ this._onTouched();
27553
+ };
27554
+ GIPIDatetimepickerInputDirective.prototype.registerDatepicker = function (value) {
27555
+ if (value) {
27556
+ this._datepicker = value;
27557
+ this._datepicker._registerInput(this);
27558
+ }
27559
+ };
27560
+ GIPIDatetimepickerInputDirective.prototype.getDisplayFormat = function () {
27561
+ switch (this._datepicker.type) {
27562
+ case 'date': return this._dateFormats.display.dateInput;
27563
+ case 'datetime': return this._dateFormats.display.datetimeInput;
27564
+ case 'time': return this._dateFormats.display.timeInput;
27565
+ case 'month': return this._dateFormats.display.monthInput;
27566
+ }
27567
+ };
27568
+ GIPIDatetimepickerInputDirective.prototype.getParseFormat = function () {
27569
+ var parseFormat;
27570
+ switch (this._datepicker.type) {
27571
+ case 'date':
27572
+ parseFormat = this._dateFormats.parse.dateInput;
27573
+ break;
27574
+ case 'datetime':
27575
+ parseFormat = this._dateFormats.parse.datetimeInput;
27576
+ break;
27577
+ case 'time':
27578
+ parseFormat = this._dateFormats.parse.timeInput;
27579
+ break;
27580
+ case 'month':
27581
+ parseFormat = this._dateFormats.parse.monthInput;
27582
+ break;
27583
+ }
27584
+ if (!parseFormat) {
27585
+ parseFormat = this._dateFormats.parse.dateInput;
27586
+ }
27587
+ return parseFormat;
27588
+ };
27589
+ /** Formats a value and sets it on the input element. */
27590
+ GIPIDatetimepickerInputDirective.prototype._formatValue = function (value) {
27591
+ this._elementRef.nativeElement.value = value
27592
+ ? this._dateAdapter.format(value, this.getDisplayFormat())
27593
+ : '';
27594
+ };
27595
+ var GIPIDatetimepickerInputDirective_1;
27596
+ GIPIDatetimepickerInputDirective.ctorParameters = function () { return [
27597
+ { type: ElementRef },
27598
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
27599
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] },
27600
+ { type: MatFormField$1, decorators: [{ type: Optional }] }
27601
+ ]; };
27602
+ __decorate([
27603
+ Input(),
27604
+ __metadata("design:type", GIPIDatetimepickerComponent),
27605
+ __metadata("design:paramtypes", [GIPIDatetimepickerComponent])
27606
+ ], GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", null);
27607
+ __decorate([
27608
+ Input(),
27609
+ __metadata("design:type", Function),
27610
+ __metadata("design:paramtypes", [Function])
27611
+ ], GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", null);
27612
+ __decorate([
27613
+ Input(),
27614
+ __metadata("design:type", Object),
27615
+ __metadata("design:paramtypes", [Object])
27616
+ ], GIPIDatetimepickerInputDirective.prototype, "value", null);
27617
+ __decorate([
27618
+ Input(),
27619
+ __metadata("design:type", Object),
27620
+ __metadata("design:paramtypes", [Object])
27621
+ ], GIPIDatetimepickerInputDirective.prototype, "min", null);
27622
+ __decorate([
27623
+ Input(),
27624
+ __metadata("design:type", Object),
27625
+ __metadata("design:paramtypes", [Object])
27626
+ ], GIPIDatetimepickerInputDirective.prototype, "max", null);
27627
+ __decorate([
27628
+ Input(),
27629
+ __metadata("design:type", Object),
27630
+ __metadata("design:paramtypes", [Object])
27631
+ ], GIPIDatetimepickerInputDirective.prototype, "disabled", null);
27632
+ __decorate([
27633
+ Output(),
27634
+ __metadata("design:type", Object)
27635
+ ], GIPIDatetimepickerInputDirective.prototype, "dateChange", void 0);
27636
+ __decorate([
27637
+ Output(),
27638
+ __metadata("design:type", Object)
27639
+ ], GIPIDatetimepickerInputDirective.prototype, "dateInput", void 0);
27640
+ GIPIDatetimepickerInputDirective = GIPIDatetimepickerInputDirective_1 = __decorate([
27641
+ Directive({
27642
+ selector: 'input[gipiMatDatetimePicker]',
27643
+ exportAs: 'matDatepickerInput',
27644
+ providers: [
27645
+ GIPI_DATETIMEPICKER_VALUE_ACCESSOR,
27646
+ GIPI_DATETIMEPICKER_VALIDATORS,
27647
+ {
27648
+ provide: MAT_INPUT_VALUE_ACCESSOR,
27649
+ useExisting: GIPIDatetimepickerInputDirective_1,
27650
+ },
27651
+ ],
27652
+ host: {
27653
+ '[attr.aria-haspopup]': 'true',
27654
+ '[attr.aria-owns]': '(_datepicker?.opened && _datepicker.id) || null',
27655
+ '[attr.min]': 'min ? _dateAdapter.toIso8601(min) : null',
27656
+ '[attr.max]': 'max ? _dateAdapter.toIso8601(max) : null',
27657
+ '[disabled]': 'disabled',
27658
+ '(focus)': '_datepicker._handleFocus()',
27659
+ '(input)': '_onInput($event.target.value)',
27660
+ '(change)': '_onChange()',
27661
+ '(blur)': '_onBlur()',
27662
+ '(keydown)': '_onKeydown($event)',
27663
+ },
27664
+ }),
27665
+ __param(1, Optional()),
27666
+ __param(2, Optional()),
27667
+ __param(2, Inject(GIPI_DATETIME_FORMATS)),
27668
+ __param(3, Optional()),
27669
+ __metadata("design:paramtypes", [ElementRef,
27670
+ GIPIDatetimeAdapter, Object, MatFormField$1])
27671
+ ], GIPIDatetimepickerInputDirective);
27672
+ return GIPIDatetimepickerInputDirective;
27673
+ }());
27674
+
27675
+ var DAYS_PER_WEEK$1 = 7;
27676
+ /**
27677
+ * An internal component used to display a single month in the datepicker.
27678
+ * @docs-private
27679
+ */
27680
+ var GIPIDatetimepickerMonthViewComponent = /** @class */ (function () {
27681
+ function GIPIDatetimepickerMonthViewComponent(_adapter, _dateFormats) {
27682
+ this._adapter = _adapter;
27683
+ this._dateFormats = _dateFormats;
27684
+ this.type = 'date';
27685
+ /** Emits when a new date is selected. */
27686
+ this.selectedChange = new EventEmitter();
27687
+ this._userSelection = new EventEmitter();
27688
+ if (!this._adapter) {
27689
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
27690
+ }
27691
+ if (!this._dateFormats) {
27692
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
27693
+ }
27694
+ var firstDayOfWeek = this._adapter.getFirstDayOfWeek();
27695
+ var narrowWeekdays = this._adapter.getDayOfWeekNames('narrow');
27696
+ var longWeekdays = this._adapter.getDayOfWeekNames('long');
27697
+ // Rotate the labels for days of the week based on the configured first day of the week.
27698
+ var weekdays = longWeekdays.map(function (long, i) { return { long: long, narrow: narrowWeekdays[i] }; });
27699
+ this._weekdays = weekdays
27700
+ .slice(firstDayOfWeek)
27701
+ .concat(weekdays.slice(0, firstDayOfWeek));
27702
+ this._activeDate = this._adapter.today();
27703
+ }
27704
+ Object.defineProperty(GIPIDatetimepickerMonthViewComponent.prototype, "activeDate", {
27705
+ get: function () {
27706
+ return this._activeDate;
27707
+ },
27708
+ set: function (value) {
27709
+ var oldActiveDate = this._activeDate;
27710
+ this._activeDate = value || this._adapter.today();
27711
+ if (oldActiveDate && this._activeDate && !this._adapter.sameMonthAndYear(oldActiveDate, this._activeDate)) {
27712
+ this._init();
27713
+ if (this._adapter.isInNextMonth(oldActiveDate, this._activeDate)) {
27714
+ this.calendarState('right');
27715
+ }
27716
+ else {
27717
+ this.calendarState('left');
27718
+ }
27719
+ }
27720
+ },
27721
+ enumerable: false,
27722
+ configurable: true
27723
+ });
27724
+ Object.defineProperty(GIPIDatetimepickerMonthViewComponent.prototype, "selected", {
27725
+ get: function () {
27726
+ return this._selected;
27727
+ },
27728
+ set: function (value) {
27729
+ this._selected = value;
27730
+ this._selectedDate = this._getDateInCurrentMonth(this.selected);
27731
+ },
27732
+ enumerable: false,
27733
+ configurable: true
27734
+ });
27735
+ GIPIDatetimepickerMonthViewComponent.prototype.ngAfterContentInit = function () {
27736
+ this._init();
27737
+ };
27738
+ /** Handles when a new date is selected. */
27739
+ GIPIDatetimepickerMonthViewComponent.prototype._dateSelected = function (date) {
27740
+ this.selectedChange.emit(this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), date, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate)));
27741
+ if (this.type === 'date') {
27742
+ this._userSelection.emit();
27743
+ }
27744
+ };
27745
+ GIPIDatetimepickerMonthViewComponent.prototype._calendarStateDone = function () {
27746
+ this._calendarState = '';
27747
+ };
27748
+ /** Initializes this month view. */
27749
+ GIPIDatetimepickerMonthViewComponent.prototype._init = function () {
27750
+ this._selectedDate = this._getDateInCurrentMonth(this.selected);
27751
+ this._todayDate = this._getDateInCurrentMonth(this._adapter.today());
27752
+ var firstOfMonth = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
27753
+ this._firstWeekOffset = (DAYS_PER_WEEK$1 + this._adapter.getDayOfWeek(firstOfMonth) - this._adapter.getFirstDayOfWeek()) % DAYS_PER_WEEK$1;
27754
+ this._createWeekCells();
27755
+ };
27756
+ /** Creates MdCalendarCells for the dates in this month. */
27757
+ GIPIDatetimepickerMonthViewComponent.prototype._createWeekCells = function () {
27758
+ var daysInMonth = this._adapter.getNumDaysInMonth(this.activeDate);
27759
+ var dateNames = this._adapter.getDateNames();
27760
+ this._weeks = [[]];
27761
+ for (var i = 0, cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {
27762
+ if (cell == DAYS_PER_WEEK$1) {
27763
+ this._weeks.push([]);
27764
+ cell = 0;
27765
+ }
27766
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), i + 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
27767
+ var enabled = !this.dateFilter || this.dateFilter(date);
27768
+ var ariaLabel = this._adapter.format(date, this._dateFormats.display.dateA11yLabel);
27769
+ this._weeks[this._weeks.length - 1].push(new GIPIDatetimepickerCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
27770
+ }
27771
+ };
27772
+ /** Gets the date in this month that the given Date falls on. Returns null if the given Date is in another month. */
27773
+ GIPIDatetimepickerMonthViewComponent.prototype._getDateInCurrentMonth = function (date) {
27774
+ return this._adapter.sameMonthAndYear(date, this.activeDate)
27775
+ ? this._adapter.getDate(date)
27776
+ : null;
27777
+ };
27778
+ GIPIDatetimepickerMonthViewComponent.prototype.calendarState = function (direction) {
27779
+ this._calendarState = direction;
27780
+ };
27781
+ GIPIDatetimepickerMonthViewComponent.ctorParameters = function () { return [
27782
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
27783
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] }
27784
+ ]; };
27785
+ __decorate([
27786
+ Input(),
27787
+ __metadata("design:type", String)
27788
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "type", void 0);
27789
+ __decorate([
27790
+ Input(),
27791
+ __metadata("design:type", Function)
27792
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "dateFilter", void 0);
27793
+ __decorate([
27794
+ Input(),
27795
+ __metadata("design:type", Object),
27796
+ __metadata("design:paramtypes", [Object])
27797
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "activeDate", null);
27798
+ __decorate([
27799
+ Input(),
27800
+ __metadata("design:type", Object),
27801
+ __metadata("design:paramtypes", [Object])
27802
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "selected", null);
27803
+ __decorate([
27804
+ Output(),
27805
+ __metadata("design:type", Object)
27806
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "selectedChange", void 0);
27807
+ __decorate([
27808
+ Output(),
27809
+ __metadata("design:type", Object)
27810
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "_userSelection", void 0);
27811
+ GIPIDatetimepickerMonthViewComponent = __decorate([
27812
+ Component({
27813
+ selector: 'gipi-mat-datetime-picker-month-view',
27814
+ template: "<table class=\"gipi-mat-datetime-picker-calendar-table\">\n <thead class=\"gipi-mat-datetime-picker-calendar-table-header\">\n <tr>\n <th *ngFor=\"let day of _weekdays\"\n [attr.aria-label]=\"day.long\">\n {{ day.narrow }}\n </th>\n </tr>\n <tr>\n <th class=\"gipi-mat-datetime-picker-calendar-table-header-divider\"\n colspan=\"7\"\n aria-hidden=\"true\">\n </th>\n </tr>\n </thead>\n <tbody gipiMatDatetimePickerCalendarBody\n role=\"grid\"\n [activeCell]=\"_adapter.getDate(activeDate) - 1\"\n [rows]=\"_weeks\"\n [selectedValue]=\"_selectedDate\"\n [todayValue]=\"_todayDate\"\n [@slideCalendar]=\"_calendarState\"\n (@slideCalendar.done)=\"_calendarStateDone()\"\n (selectedValueChange)=\"_dateSelected($event)\">\n </tbody>\n</table>",
27815
+ animations: [slideCalendar],
27816
+ encapsulation: ViewEncapsulation.None,
27817
+ changeDetection: ChangeDetectionStrategy.OnPush
27818
+ }),
27819
+ __param(0, Optional()),
27820
+ __param(1, Optional()),
27821
+ __param(1, Inject(GIPI_DATETIME_FORMATS)),
27822
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
27823
+ ], GIPIDatetimepickerMonthViewComponent);
27824
+ return GIPIDatetimepickerMonthViewComponent;
27825
+ }());
27826
+
27827
+ var ɵ0$3 = function (i) { return String(i); };
27828
+ /** The default hour names to use if Intl API is not available. */
27829
+ var DEFAULT_HOUR_NAMES = range$1(24, ɵ0$3);
27830
+ var ɵ1 = function (i) { return String(i); };
27831
+ /** The default minute names to use if Intl API is not available. */
27832
+ var DEFAULT_MINUTE_NAMES = range$1(60, ɵ1);
27833
+ function range$1(length, valueFunction) {
27834
+ var valuesArray = Array(length);
27835
+ for (var i = 0; i < length; i++) {
27836
+ valuesArray[i] = valueFunction(i);
27837
+ }
27838
+ return valuesArray;
27839
+ }
27840
+ var GIPINativeDatetimeAdapter = /** @class */ (function (_super) {
27841
+ __extends(GIPINativeDatetimeAdapter, _super);
27842
+ function GIPINativeDatetimeAdapter(matDateLocale, _delegate) {
27843
+ var _this = _super.call(this, _delegate) || this;
27844
+ _this.setLocale(matDateLocale);
27845
+ return _this;
27846
+ }
27847
+ GIPINativeDatetimeAdapter.prototype.clone = function (date) {
27848
+ return this.createDatetime(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date));
27849
+ };
27850
+ GIPINativeDatetimeAdapter.prototype.getHour = function (date) {
27851
+ return date.getHours();
27852
+ };
27853
+ GIPINativeDatetimeAdapter.prototype.getMinute = function (date) {
27854
+ return date.getMinutes();
27855
+ };
27856
+ GIPINativeDatetimeAdapter.prototype.isInNextMonth = function (startDate, endDate) {
27857
+ var nextMonth = this.getDateInNextMonth(startDate);
27858
+ return this.sameMonthAndYear(nextMonth, endDate);
27859
+ };
27860
+ GIPINativeDatetimeAdapter.prototype.createDatetime = function (year, month, date, hour, minute) {
27861
+ // Check for invalid month and date (except upper bound on date which we have to check after
27862
+ // creating the Date).
27863
+ if (month < 0 || month > 11) {
27864
+ throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
27865
+ }
27866
+ if (date < 1) {
27867
+ throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
27868
+ }
27869
+ if (hour < 0 || hour > 23) {
27870
+ throw Error("Invalid hour \"" + hour + "\". Hour has to be between 0 and 23.");
27871
+ }
27872
+ if (minute < 0 || minute > 59) {
27873
+ throw Error("Invalid minute \"" + minute + "\". Minute has to be between 0 and 59.");
27874
+ }
27875
+ var result = this._createDateWithOverflow(year, month, date, hour, minute);
27876
+ // Check that the date wasn't above the upper bound for the month, causing the month to overflow
27877
+ if (result.getMonth() !== month) {
27878
+ throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
27879
+ }
27880
+ return result;
27881
+ };
27882
+ GIPINativeDatetimeAdapter.prototype.getFirstDateOfMonth = function (date) {
27883
+ var result = new Date();
27884
+ result.setFullYear(date.getFullYear(), date.getMonth(), 1);
27885
+ return result;
27886
+ };
27887
+ GIPINativeDatetimeAdapter.prototype.getHourNames = function () {
27888
+ return DEFAULT_HOUR_NAMES;
27889
+ };
27890
+ GIPINativeDatetimeAdapter.prototype.getMinuteNames = function () {
27891
+ return DEFAULT_MINUTE_NAMES;
27892
+ };
27893
+ GIPINativeDatetimeAdapter.prototype.addCalendarYears = function (date, years) {
27894
+ return this.addCalendarMonths(date, years * 12);
27895
+ };
27896
+ GIPINativeDatetimeAdapter.prototype.addCalendarMonths = function (date, months) {
27897
+ var newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));
27898
+ // It's possible to wind up in the wrong month if the original month has more days than the new
27899
+ // month. In this case we want to go to the last day of the desired month.
27900
+ // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
27901
+ // guarantee this.
27902
+ if (this.getMonth(newDate) !== (((this.getMonth(date) + months) % 12) + 12) % 12) {
27903
+ newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));
27904
+ }
27905
+ return newDate;
27906
+ };
27907
+ GIPINativeDatetimeAdapter.prototype.addCalendarDays = function (date, days) {
27908
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days, this.getHour(date), this.getMinute(date));
27909
+ };
27910
+ GIPINativeDatetimeAdapter.prototype.addCalendarHours = function (date, hours) {
27911
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date) + hours, this.getMinute(date));
27912
+ };
27913
+ GIPINativeDatetimeAdapter.prototype.addCalendarMinutes = function (date, minutes) {
27914
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date) + minutes);
27915
+ };
27916
+ GIPINativeDatetimeAdapter.prototype.toIso8601 = function (date) {
27917
+ return (_super.prototype.toIso8601.call(this, date) + 'T' + [this._2digit(date.getUTCHours()), this._2digit(date.getUTCMinutes()),].join(':'));
27918
+ };
27919
+ GIPINativeDatetimeAdapter.prototype.getDateInNextMonth = function (date) {
27920
+ return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());
27921
+ };
27922
+ /**
27923
+ * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
27924
+ * other browsers do not. We remove them to make output consistent and because they interfere with
27925
+ * date parsing.
27926
+ * @param str The string to strip direction characters from.
27927
+ * @returns The stripped string.
27928
+ */
27929
+ GIPINativeDatetimeAdapter.prototype._stripDirectionalityCharacters = function (str) {
27930
+ return str.replace(/[\u200e\u200f]/g, '');
27931
+ };
27932
+ /**
27933
+ * Pads a number to make it two digits.
27934
+ * @param n The number to pad.
27935
+ * @returns The padded number.
27936
+ */
27937
+ GIPINativeDatetimeAdapter.prototype._2digit = function (n) {
27938
+ return ('00' + n).slice(-2);
27939
+ };
27940
+ /** Creates a date but allows the month and date to overflow. */
27941
+ GIPINativeDatetimeAdapter.prototype._createDateWithOverflow = function (year, month, date, hours, minutes) {
27942
+ var result = new Date(year, month, date, hours, minutes);
27943
+ // We need to correct for the fact that JS native Date treats years in range [0, 99] as
27944
+ // abbreviations for 19xx.
27945
+ if (year >= 0 && year < 100) {
27946
+ result.setFullYear(this.getYear(result) - 1900);
27947
+ }
27948
+ return result;
27949
+ };
27950
+ GIPINativeDatetimeAdapter.ctorParameters = function () { return [
27951
+ { type: String, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DATE_LOCALE$1,] }] },
27952
+ { type: DateAdapter$1 }
27953
+ ]; };
27954
+ GIPINativeDatetimeAdapter = __decorate([
27955
+ Injectable(),
27956
+ __param(0, Optional()), __param(0, Inject(MAT_DATE_LOCALE$1)),
27957
+ __metadata("design:paramtypes", [String, DateAdapter$1])
27958
+ ], GIPINativeDatetimeAdapter);
27959
+ return GIPINativeDatetimeAdapter;
27960
+ }(GIPIDatetimeAdapter));
27961
+
27962
+ var GIPI_NATIVE_DATETIME_FORMATS = {
27963
+ parse: {},
27964
+ display: {
27965
+ dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },
27966
+ monthInput: { month: 'long' },
27967
+ datetimeInput: {
27968
+ year: 'numeric',
27969
+ month: '2-digit',
27970
+ day: '2-digit',
27971
+ hour: '2-digit',
27972
+ minute: '2-digit',
27973
+ },
27974
+ timeInput: { hour: '2-digit', minute: '2-digit' },
27975
+ monthYearLabel: { year: 'numeric', month: 'short' },
27976
+ dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
27977
+ monthYearA11yLabel: { year: 'numeric', month: 'long' },
27978
+ popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' },
27979
+ },
27980
+ };
27981
+
27982
+ var NativeDatetimeModule = /** @class */ (function () {
27983
+ function NativeDatetimeModule() {
27984
+ }
27985
+ NativeDatetimeModule = __decorate([
27986
+ NgModule({
27987
+ imports: [
27988
+ NativeDateModule,
27989
+ ],
27990
+ providers: [
27991
+ {
27992
+ provide: GIPIDatetimeAdapter,
27993
+ useClass: GIPINativeDatetimeAdapter,
27994
+ },
27995
+ ],
27996
+ })
27997
+ ], NativeDatetimeModule);
27998
+ return NativeDatetimeModule;
27999
+ }());
28000
+ var ɵ0$4 = GIPI_NATIVE_DATETIME_FORMATS;
28001
+ var GIPINativeDatetimeModule = /** @class */ (function () {
28002
+ function GIPINativeDatetimeModule() {
28003
+ }
28004
+ GIPINativeDatetimeModule = __decorate([
28005
+ NgModule({
28006
+ imports: [
28007
+ NativeDatetimeModule,
28008
+ MatNativeDateModule$1,
28009
+ ],
28010
+ providers: [
28011
+ {
28012
+ provide: GIPI_DATETIME_FORMATS,
28013
+ useValue: ɵ0$4,
28014
+ },
28015
+ ],
28016
+ })
28017
+ ], GIPINativeDatetimeModule);
28018
+ return GIPINativeDatetimeModule;
28019
+ }());
28020
+
28021
+ /**
28022
+ * An internal component used to display a single year in the datepicker.
28023
+ * @docs-private
28024
+ */
28025
+ var GIPIDatetimepickerYearViewComponent = /** @class */ (function () {
28026
+ function GIPIDatetimepickerYearViewComponent(_adapter, _dateFormats) {
28027
+ this._adapter = _adapter;
28028
+ this._dateFormats = _dateFormats;
28029
+ this.type = 'date';
28030
+ /** Emits when a new month is selected. */
28031
+ this.selectedChange = new EventEmitter();
28032
+ this._userSelection = new EventEmitter();
28033
+ if (!this._adapter) {
28034
+ throw createMissingDateImplError$1('DatetimeAdapter');
28035
+ }
28036
+ if (!this._dateFormats) {
28037
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
28038
+ }
28039
+ this._activeDate = this._adapter.today();
28040
+ }
28041
+ Object.defineProperty(GIPIDatetimepickerYearViewComponent.prototype, "activeDate", {
28042
+ get: function () {
28043
+ return this._activeDate;
28044
+ },
28045
+ set: function (value) {
28046
+ var oldActiveDate = this._activeDate;
28047
+ this._activeDate = value || this._adapter.today();
28048
+ if (oldActiveDate && this._activeDate && !this._adapter.sameYear(oldActiveDate, this._activeDate)) {
28049
+ this._init();
28050
+ }
28051
+ },
28052
+ enumerable: false,
28053
+ configurable: true
28054
+ });
28055
+ Object.defineProperty(GIPIDatetimepickerYearViewComponent.prototype, "selected", {
28056
+ get: function () {
28057
+ return this._selected;
28058
+ },
28059
+ set: function (value) {
28060
+ this._selected = value;
28061
+ this._selectedMonth = this._getMonthInCurrentYear(this.selected);
28062
+ },
28063
+ enumerable: false,
28064
+ configurable: true
28065
+ });
28066
+ GIPIDatetimepickerYearViewComponent.prototype.ngAfterContentInit = function () {
28067
+ this._init();
28068
+ };
28069
+ /** Handles when a new month is selected. */
28070
+ GIPIDatetimepickerYearViewComponent.prototype._monthSelected = function (month) {
28071
+ var normalizedDate = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, 1, 0, 0);
28072
+ this.selectedChange.emit(this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, Math.min(this._adapter.getDate(this.activeDate), this._adapter.getNumDaysInMonth(normalizedDate)), this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate)));
28073
+ if (this.type === 'month') {
28074
+ this._userSelection.emit();
28075
+ }
28076
+ };
28077
+ GIPIDatetimepickerYearViewComponent.prototype._calendarStateDone = function () {
28078
+ this._calendarState = '';
28079
+ };
28080
+ /** Initializes this month view. */
28081
+ GIPIDatetimepickerYearViewComponent.prototype._init = function () {
28082
+ var _this = this;
28083
+ this._selectedMonth = this._getMonthInCurrentYear(this.selected);
28084
+ this._todayMonth = this._getMonthInCurrentYear(this._adapter.today());
28085
+ this._yearLabel = this._adapter.getYearName(this.activeDate);
28086
+ var monthNames = this._adapter.getMonthNames('short');
28087
+ // First row of months only contains 5 elements so we can fit the year label on the same row.
28088
+ this._months = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]].map(function (row) { return row.map(function (month) { return _this._createCellForMonth(month, monthNames[month]); }); });
28089
+ };
28090
+ /**
28091
+ * Gets the month in this year that the given Date falls on.
28092
+ * Returns null if the given Date is in another year.
28093
+ */
28094
+ GIPIDatetimepickerYearViewComponent.prototype._getMonthInCurrentYear = function (date) {
28095
+ return this._adapter.sameYear(date, this.activeDate)
28096
+ ? this._adapter.getMonth(date)
28097
+ : null;
28098
+ };
28099
+ /** Creates an MdCalendarCell for the given month. */
28100
+ GIPIDatetimepickerYearViewComponent.prototype._createCellForMonth = function (month, monthName) {
28101
+ var ariaLabel = this._adapter.format(this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate)), this._dateFormats.display.monthYearA11yLabel);
28102
+ return new GIPIDatetimepickerCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._isMonthEnabled(month));
28103
+ };
28104
+ /** Whether the given month is enabled. */
28105
+ GIPIDatetimepickerYearViewComponent.prototype._isMonthEnabled = function (month) {
28106
+ if (!this.dateFilter) {
28107
+ return true;
28108
+ }
28109
+ var firstOfMonth = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
28110
+ // If any date in the month is enabled count the month as enabled.
28111
+ for (var date = firstOfMonth; this._adapter.getMonth(date) == month; date = this._adapter.addCalendarDays(date, 1)) {
28112
+ if (this.dateFilter(date)) {
28113
+ return true;
28114
+ }
28115
+ }
28116
+ return false;
28117
+ };
28118
+ GIPIDatetimepickerYearViewComponent.ctorParameters = function () { return [
28119
+ { type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
28120
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] }
28121
+ ]; };
28122
+ __decorate([
28123
+ Input(),
28124
+ __metadata("design:type", String)
28125
+ ], GIPIDatetimepickerYearViewComponent.prototype, "type", void 0);
28126
+ __decorate([
28127
+ Input(),
28128
+ __metadata("design:type", Function)
28129
+ ], GIPIDatetimepickerYearViewComponent.prototype, "dateFilter", void 0);
28130
+ __decorate([
28131
+ Input(),
28132
+ __metadata("design:type", Object),
28133
+ __metadata("design:paramtypes", [Object])
28134
+ ], GIPIDatetimepickerYearViewComponent.prototype, "activeDate", null);
28135
+ __decorate([
28136
+ Input(),
28137
+ __metadata("design:type", Object),
28138
+ __metadata("design:paramtypes", [Object])
28139
+ ], GIPIDatetimepickerYearViewComponent.prototype, "selected", null);
28140
+ __decorate([
28141
+ Output(),
28142
+ __metadata("design:type", Object)
28143
+ ], GIPIDatetimepickerYearViewComponent.prototype, "selectedChange", void 0);
28144
+ __decorate([
28145
+ Output(),
28146
+ __metadata("design:type", Object)
28147
+ ], GIPIDatetimepickerYearViewComponent.prototype, "_userSelection", void 0);
28148
+ GIPIDatetimepickerYearViewComponent = __decorate([
28149
+ Component({
28150
+ selector: 'gipi-mat-datetime-picker-year-view',
28151
+ template: "<table class=\"gipi-mat-datetime-picker-calendar-table\"\n role=\"presentation\">\n <thead class=\"gipi-mat-datetime-picker-calendar-table-header\">\n <tr>\n <th class=\"gipi-mat-datetime-picker-calendar-table-header-divider\"\n colspan=\"4\">\n </th>\n </tr>\n </thead>\n <tbody gipiMatDatetimePickerCalendarBody\n allowDisabledSelection=\"true\"\n role=\"grid\"\n [label]=\"_yearLabel\"\n [rows]=\"_months\"\n [todayValue]=\"_todayMonth\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [cellAspectRatio]=\"4 / 7\"\n [activeCell]=\"_adapter.getMonth(activeDate)\"\n [selectedValue]=\"_selectedMonth\"\n [@slideCalendar]=\"_calendarState\"\n (@slideCalendar.done)=\"_calendarStateDone()\"\n (selectedValueChange)=\"_monthSelected($event)\">\n </tbody>\n</table>\n",
28152
+ animations: [slideCalendar],
28153
+ encapsulation: ViewEncapsulation.None,
28154
+ changeDetection: ChangeDetectionStrategy.OnPush
28155
+ }),
28156
+ __param(0, Optional()),
28157
+ __param(1, Optional()),
28158
+ __param(1, Inject(GIPI_DATETIME_FORMATS)),
28159
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
28160
+ ], GIPIDatetimepickerYearViewComponent);
28161
+ return GIPIDatetimepickerYearViewComponent;
28162
+ }());
28163
+
28164
+ var DatetimepickerModule = /** @class */ (function () {
28165
+ function DatetimepickerModule() {
28166
+ }
28167
+ DatetimepickerModule = __decorate([
28168
+ NgModule({
28169
+ imports: [
28170
+ CommonModule,
28171
+ FormsModule,
28172
+ ReactiveFormsModule,
28173
+ MatButtonModule,
28174
+ MatDialogModule,
28175
+ MatIconModule,
28176
+ OverlayModule,
28177
+ A11yModule,
28178
+ MatDatepickerModule,
28179
+ GIPINativeDatetimeModule,
28180
+ ],
28181
+ exports: [
28182
+ FormsModule,
28183
+ ReactiveFormsModule,
28184
+ MatButtonModule,
28185
+ MatDialogModule,
28186
+ MatIconModule,
28187
+ OverlayModule,
28188
+ A11yModule,
28189
+ MatDatepickerModule,
28190
+ GIPINativeDatetimeModule,
28191
+ GIPIDatetimepickerCalendarComponent,
28192
+ GIPIDatetimepickerCalendarBodyComponent,
28193
+ GIPIDatetimepickerClockComponent,
28194
+ GIPIDatetimepickerComponent,
28195
+ GIPIDatetimepickerToggleComponent,
28196
+ GIPIDatetimepickerInputDirective,
28197
+ GIPIDatetimepickerContentComponent,
28198
+ GIPIDatetimepickerMonthViewComponent,
28199
+ GIPIDatetimepickerYearViewComponent,
28200
+ GIPIDatetimepickerMultiYearViewComponent,
28201
+ GIPIDateAndTimePickerComponent,
28202
+ ],
28203
+ declarations: [
28204
+ GIPIDatetimepickerCalendarComponent,
28205
+ GIPIDatetimepickerCalendarBodyComponent,
28206
+ GIPIDatetimepickerClockComponent,
28207
+ GIPIDatetimepickerComponent,
28208
+ GIPIDatetimepickerToggleComponent,
28209
+ GIPIDatetimepickerInputDirective,
28210
+ GIPIDatetimepickerContentComponent,
28211
+ GIPIDatetimepickerMonthViewComponent,
28212
+ GIPIDatetimepickerYearViewComponent,
28213
+ GIPIDatetimepickerMultiYearViewComponent,
28214
+ GIPIDateAndTimePickerComponent,
28215
+ ],
28216
+ entryComponents: [
28217
+ GIPIDatetimepickerContentComponent,
28218
+ ],
28219
+ providers: [
28220
+ MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER$1,
28221
+ ],
28222
+ })
28223
+ ], DatetimepickerModule);
28224
+ return DatetimepickerModule;
28225
+ }());
28226
+
28227
+ var moment$4 = moment_;
28228
+ var CalendarMonthYearComponent = /** @class */ (function () {
28229
+ function CalendarMonthYearComponent(_changeDetectorRef) {
28230
+ this._changeDetectorRef = _changeDetectorRef;
28231
+ this._subscriptions = new Subscription();
28232
+ this._animationState = 'enter';
28233
+ this._animationDone = new Subject();
28234
+ this.years = [];
28235
+ this.months = [];
28236
+ this._calendarView = 'both';
28237
+ }
28238
+ CalendarMonthYearComponent_1 = CalendarMonthYearComponent;
28239
+ CalendarMonthYearComponent.prototype.ngOnInit = function () {
28240
+ if (this._locale) {
28241
+ moment$4.locale(this._locale);
28242
+ }
28243
+ else {
28244
+ moment$4.locale('pt-br');
28245
+ }
28246
+ this.months = __spread(this.monthYearPicker.model.months);
28247
+ this._calendarView = this.monthYearPicker.calendarView;
28248
+ if (this._calendarView === 'year') {
28249
+ this.toggleShowYears();
28250
+ }
28251
+ this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
28252
+ };
28253
+ CalendarMonthYearComponent.prototype.ngAfterViewInit = function () {
28254
+ var _this = this;
28255
+ if (this._changeDetectorRef) {
28256
+ this._subscriptions.add(this.monthYearPicker._stateChanges.subscribe(function () {
28257
+ _this._changeDetectorRef.markForCheck();
28258
+ }));
28259
+ }
28260
+ };
28261
+ CalendarMonthYearComponent.prototype.ngOnDestroy = function () {
28262
+ this._subscriptions.unsubscribe();
28263
+ this._animationDone.complete();
28264
+ };
28265
+ CalendarMonthYearComponent.prototype._startExitAnimation = function () {
28266
+ this._animationState = 'void';
28267
+ if (this._changeDetectorRef) {
28268
+ this._changeDetectorRef.markForCheck();
28269
+ }
28270
+ };
28271
+ CalendarMonthYearComponent.prototype.decrement = function () {
28272
+ this.monthYearPicker.model.decrementYear();
28273
+ if (this.isShowYears) {
28274
+ this._renderYears();
28275
+ }
28276
+ };
28277
+ CalendarMonthYearComponent.prototype.increment = function () {
28278
+ this.monthYearPicker.model.incrementYear();
28279
+ if (this.isShowYears) {
28280
+ this._renderYears();
28281
+ }
28282
+ };
28283
+ CalendarMonthYearComponent.prototype.selectMonth = function (index) {
28284
+ this.monthYearPicker.model.selectMonth(index);
28285
+ this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
28286
+ this.monthYearPicker.close();
28287
+ };
28288
+ CalendarMonthYearComponent.prototype.isSelectedMonth = function (monthIndex) {
28289
+ return this.monthYearPicker.model.selectedMonthIndex == monthIndex && this.monthYearPicker.model.selectedMonthYear == this.monthYearPicker.model.selectedYearMoment.year();
28290
+ };
28291
+ CalendarMonthYearComponent.prototype.isCurrentMonth = function (monthIndex) {
28292
+ var currentMonth = moment$4().month();
28293
+ var currentYear = moment$4().year();
28294
+ return (monthIndex === currentMonth) && (this.monthYearPicker.model.selectedYearMoment.year() === currentYear);
28295
+ };
28296
+ CalendarMonthYearComponent.prototype.isDisabledMonth = function (index) {
28297
+ var disabled = false;
28298
+ if (!ObjectUtil.isNull(this.monthYearPicker)) {
28299
+ var minMonth = !ObjectUtil.isNull(this.monthYearPicker.min) ? this.monthYearPicker.min.month : null;
28300
+ var maxMonth = !ObjectUtil.isNull(this.monthYearPicker.max) ? this.monthYearPicker.max.month : null;
28301
+ if (!ObjectUtil.isNull(minMonth) && !ObjectUtil.isNull(maxMonth)) {
28302
+ disabled = index < minMonth || index > maxMonth;
28303
+ }
28304
+ else if (!ObjectUtil.isNull(minMonth)) {
28305
+ disabled = index < minMonth;
28306
+ }
28307
+ else if (!ObjectUtil.isNull(maxMonth)) {
28308
+ disabled = index > maxMonth;
28309
+ }
28310
+ }
28311
+ return disabled;
28312
+ // let disabled = false;
28313
+ // if (this._enabledMonths && this._enabledMonths.length > 0) {
28314
+ // disabled = this._enabledMonths.indexOf(index) < 0;
28315
+ // }
28316
+ // if (this._disabledMonths && this._disabledMonths.length > 0) {
28317
+ // disabled = this._disabledMonths.indexOf(index) >= 0;
28318
+ // }
28319
+ // return disabled;
28320
+ };
28321
+ /** Years */
28322
+ CalendarMonthYearComponent.prototype.toggleShowYears = function () {
28323
+ this.isShowYears = !this.isShowYears;
28324
+ this._renderYears();
28325
+ };
28326
+ CalendarMonthYearComponent.prototype._renderYears = function () {
28327
+ this.years = [];
28328
+ for (var i = 11; i > 0; i--) {
28329
+ this.years.push(this.monthYearPicker.model.selectedYearMoment.year() - i);
28330
+ }
28331
+ for (var i = 0; i <= 12; i++) {
28332
+ this.years.push(this.monthYearPicker.model.selectedYearMoment.year() + i);
28333
+ }
28334
+ };
28335
+ Object.defineProperty(CalendarMonthYearComponent.prototype, "periodButtonLabel", {
28336
+ get: function () {
28337
+ var formatYearRange = function (start, end) {
28338
+ return start + " \u2013 " + end;
28339
+ };
28340
+ return this.isShowYears ? formatYearRange(this.years[0], this.years[this.years.length - 1]) : this.monthYearPicker.model.selectedYearText;
28341
+ },
28342
+ enumerable: false,
28343
+ configurable: true
28344
+ });
28345
+ CalendarMonthYearComponent.prototype.selectYear = function (year) {
28346
+ if (this._calendarView === 'both') {
28347
+ this.isShowYears = false;
28348
+ }
28349
+ this.monthYearPicker.model.selectedYearMoment = moment$4().year(year);
28350
+ this.monthYearPicker.model.updateYearText();
25079
28351
  if (this._calendarView === 'year') {
25080
28352
  this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, year);
25081
28353
  this.monthYearPicker.close();
@@ -25213,7 +28485,7 @@ var MonthPickerModel = /** @class */ (function () {
25213
28485
  };
25214
28486
  return MonthPickerModel;
25215
28487
  }());
25216
- var nextUniqueId$q = 0;
28488
+ var nextUniqueId$r = 0;
25217
28489
  var MonthYearPickerComponent = /** @class */ (function () {
25218
28490
  function MonthYearPickerComponent(elementRef, _changeDetectorRef, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dir, _document) {
25219
28491
  this.elementRef = elementRef;
@@ -25223,7 +28495,7 @@ var MonthYearPickerComponent = /** @class */ (function () {
25223
28495
  this._viewContainerRef = _viewContainerRef;
25224
28496
  this._dir = _dir;
25225
28497
  this._document = _document;
25226
- this._name = "gipi-date-range-" + nextUniqueId$q++;
28498
+ this._name = "gipi-date-range-" + nextUniqueId$r++;
25227
28499
  this._focusedElementBeforeOpen = null;
25228
28500
  this._backdropHarnessClass = this._name + "-backdrop";
25229
28501
  this._stateChanges = new Subject();
@@ -25618,7 +28890,7 @@ var MonthYearPickerComponent = /** @class */ (function () {
25618
28890
  'class': 'gipi-month-year-picker',
25619
28891
  },
25620
28892
  changeDetection: ChangeDetectionStrategy.OnPush,
25621
- styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid rgba(0,0,0,.12);transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-year-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-icon-button .month-year-toggle-default-icon{margin:auto}.btn-month-year-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}"]
28893
+ styles: [":host{display:block;width:100%;min-width:0;max-width:100%;flex:1}.input-wrapper{display:flex;flex-direction:column;gap:.8rem;font-size:1.4rem;color:#696969}.input-wrapper .input-label{display:flex;align-items:center;gap:.4rem;color:#131313;line-height:1.6rem}.input-wrapper .input-label>span{font-size:1.6rem;line-height:1.6rem;color:#d14014}.input-wrapper .input-content{display:flex;font-family:inherit;font-size:inherit;color:inherit;height:4rem;background:#fff;border:1px solid #0000001f;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.6rem}.input-wrapper .input-content .input-element{padding:.75rem .8rem;border:none;outline:0;background-color:transparent;flex:1;color:inherit;caret-color:#696969;min-width:0}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.prefix:hover),.input-wrapper .input-content:not(.input-element:disabled):has(.suffix:hover){border-color:#6d6f73}.input-wrapper .input-content:not(.input-element:disabled):has(.input-element:enabled:focus){outline:0;outline-offset:0;box-shadow:0 0 0 .2rem #e0e1e2;border-color:#6d6f73}.input-wrapper .input-content:has(.input-element:disabled){color:#bbbdc1!important;border-color:#e0e1e2!important;background-color:#f5f5f6!important;cursor:not-allowed}.input-wrapper .input-content:has(.input-element:disabled) .suffix>mat-icon{color:#bbbdc1!important}.input-wrapper .input-content .input-element:disabled{cursor:not-allowed}.input-wrapper .input-content .suffix{display:flex;align-items:center;justify-content:center;padding-block:.75rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-right:.8rem}.input-wrapper .input-content .suffix>mat-icon{width:2rem;height:2rem;font-size:2rem;color:#696969}.input-wrapper .input-help{flex:1;font-size:1rem;font-weight:500;margin-top:-.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-year-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-icon-button .month-year-toggle-default-icon{margin:auto}.btn-month-year-toggle{width:2rem!important;height:2rem!important;line-height:2rem!important}"]
25622
28894
  }),
25623
28895
  __param(5, Inject(GIPI_MONTH_YEAR_SCROLL_STRATEGY)),
25624
28896
  __param(6, Optional()),
@@ -25746,7 +29018,7 @@ var GIPIServices = [
25746
29018
  GIPIResizeService,
25747
29019
  GIPIPaginationService,
25748
29020
  ];
25749
- var ɵ0$3 = {
29021
+ var ɵ0$5 = {
25750
29022
  parse: {
25751
29023
  dateInput: 'DD/MM/YYYY',
25752
29024
  },
@@ -25756,6 +29028,46 @@ var ɵ0$3 = {
25756
29028
  dateA11yLabel: 'LL',
25757
29029
  monthYearA11yLabel: 'MMMM YYYY',
25758
29030
  },
29031
+ }, ɵ1$1 = {
29032
+ parse: {},
29033
+ display: {
29034
+ dateInput: {
29035
+ year: "numeric",
29036
+ month: "2-digit",
29037
+ day: "2-digit"
29038
+ },
29039
+ monthInput: {
29040
+ month: "long"
29041
+ },
29042
+ datetimeInput: {
29043
+ year: "numeric",
29044
+ month: "2-digit",
29045
+ day: "2-digit",
29046
+ hour: "2-digit",
29047
+ minute: "2-digit"
29048
+ },
29049
+ timeInput: {
29050
+ hour: "2-digit",
29051
+ minute: "2-digit"
29052
+ },
29053
+ monthYearLabel: {
29054
+ year: "numeric",
29055
+ month: "short"
29056
+ },
29057
+ dateA11yLabel: {
29058
+ year: "numeric",
29059
+ month: "long",
29060
+ day: "numeric"
29061
+ },
29062
+ monthYearA11yLabel: {
29063
+ year: "numeric",
29064
+ month: "long"
29065
+ },
29066
+ popupHeaderDateLabel: {
29067
+ day: "2-digit",
29068
+ month: "short",
29069
+ }
29070
+ }
25759
29071
  };
25760
29072
  var SharedModule = /** @class */ (function () {
25761
29073
  function SharedModule(_injector) {
@@ -25820,6 +29132,7 @@ var SharedModule = /** @class */ (function () {
25820
29132
  MentionModule,
25821
29133
  DatepickerModule,
25822
29134
  MonthYearPickerModule,
29135
+ DatetimepickerModule,
25823
29136
  ],
25824
29137
  exports: [
25825
29138
  GIPIComponents,
@@ -25866,6 +29179,7 @@ var SharedModule = /** @class */ (function () {
25866
29179
  SelectButtonNextBatchComponent,
25867
29180
  DatepickerModule,
25868
29181
  MonthYearPickerModule,
29182
+ DatetimepickerModule,
25869
29183
  ],
25870
29184
  entryComponents: [
25871
29185
  GIPIConfirmationDialogComponent,
@@ -25887,7 +29201,11 @@ var SharedModule = /** @class */ (function () {
25887
29201
  },
25888
29202
  {
25889
29203
  provide: MAT_DATE_FORMATS,
25890
- useValue: ɵ0$3,
29204
+ useValue: ɵ0$5,
29205
+ },
29206
+ {
29207
+ provide: GIPI_DATETIME_FORMATS,
29208
+ useValue: ɵ1$1,
25891
29209
  },
25892
29210
  ]
25893
29211
  }),
@@ -27103,7 +30421,10 @@ var GIPIAbstractComponent = /** @class */ (function () {
27103
30421
  return this.baseService.router.url.split('/').filter(function (path) { return (path === 'view'); }).length > 0;
27104
30422
  };
27105
30423
  GIPIAbstractComponent.prototype.isListing = function () {
27106
- return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view'); }).length === 0;
30424
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view') || (path === 'clone'); }).length === 0;
30425
+ };
30426
+ GIPIAbstractComponent.prototype.isCloning = function () {
30427
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'clone'); }).length > 0;
27107
30428
  };
27108
30429
  GIPIAbstractComponent.prototype.hasPermission = function (permission) {
27109
30430
  if (StringUtil.isEmpty(permission)) {
@@ -27774,6 +31095,27 @@ var GIPIAbstractFindComponent = /** @class */ (function (_super) {
27774
31095
  throw new Error(e);
27775
31096
  }
27776
31097
  };
31098
+ GIPIAbstractFindComponent.prototype.cloneRegister = function (id, permission) {
31099
+ id = this.handleEntityId(id);
31100
+ if (ObjectUtil.isNull(id)) {
31101
+ return;
31102
+ }
31103
+ if (StringUtil.isEmpty(permission) && ObjectUtil.isNull(this.basePermissionList)) {
31104
+ this.setFilterSessionStorage();
31105
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone'], true);
31106
+ }
31107
+ else {
31108
+ if (StringUtil.isEmpty(permission) && !ObjectUtil.isNull(this.basePermissionList)) {
31109
+ permission = this.basePermissionList.MAKE;
31110
+ }
31111
+ if (!this.hasPermission(permission)) {
31112
+ this.addWarningMessage(INJECTOR.get(APP_MESSAGES).NOT_PERMISSION);
31113
+ return;
31114
+ }
31115
+ this.setFilterSessionStorage();
31116
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone', id], true);
31117
+ }
31118
+ };
27777
31119
  GIPIAbstractFindComponent.prototype.clear = function () {
27778
31120
  this.baseService.sessionStorageService.remove('filter');
27779
31121
  this.page = this.newPage();
@@ -29218,5 +32560,5 @@ var MAT_NATIVE_DATE_FORMATS = {
29218
32560
  * Generated bundle index. Do not edit.
29219
32561
  */
29220
32562
 
29221
- 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, GIPIInputPhoneComponent, GIPIInputSearchComponent, GIPIInputSelectComponent, GIPIInputSelectEnumComponent, GIPIInputSelectListboxComponent, GIPIInputSelectPagedComponent, GIPIInputSelectRadioComponent, GIPINotificationComponent, GIPINoveltiesComponent, GIPIOverlayComponent, GIPIOverlayService, GIPIPageEvent, GIPIPageModel, GIPIPaginatePipe, GIPIPaginationControlsDirective, GIPIPaginationService, GIPIPasswordRequerimentsComponent, GIPIPopoverComponent, GIPIPopoverTarget, GIPIPopoverTrigger, GIPIRadioGroupComponent, GIPIRangePageComponent, GIPIRangeSliderComponent, GIPIResizeService, GIPIRowDirective, GIPISelectButtonComponent, GIPISelectComponent, GIPISessionStorageService, GIPISidenavComponent, GIPISidenavContainerComponent, GIPISkeletonComponent, GIPISkeletonDirective, GIPISlideToggleComponent, GIPISortDirectionEnum, GIPISortModel, GIPISplitButtonComponent, GIPIStepperComponent, GIPITabComponent, GIPITabGroupComponent, GIPITableBodyComponent, GIPITableComponent, GIPITableFooterComponent, GIPITableHeaderComponent, GIPITablePaginationComponent, GIPITableProgressBarComponent, GIPITemplateDirective, GIPITextareaComponent, GIPIToolbarComponent, GIPITopNavComponent, GIPIUserProfileComponent, GIPI_BREAKPOINTS, GIPI_CUSTOM_BREAKPOINTS_PROVIDER, GIPI_MONTH_YEAR_SCROLL_STRATEGY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER, INJECTOR, IconComponent, InputComponent, InputCurrencyComponent, InputFileComponent, InputListboxDTO, ItssTemplate, LoadingComponent, LoadingOverlayComponent, LocalTimeEnum, LocalTimePipe, MAT_DATEPICKER_SCROLL_STRATEGY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY, MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_DATEPICKER_VALIDATORS, MAT_DATEPICKER_VALUE_ACCESSOR, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_DATE_LOCALE_PROVIDER, MAT_DATE_RANGE_SELECTION_STRATEGY, MAT_NATIVE_DATE_FORMATS, MAT_RANGE_DATE_SELECTION_MODEL_FACTORY, MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER, MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY, MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER, MatCalendar, MatCalendarBody, MatCalendarCell, MatCalendarHeader, MatDateRangeInput, MatDateRangePicker, MatDateSelectionModel, MatDatepicker, MatDatepickerContent, MatDatepickerInput, MatDatepickerInputEvent, MatDatepickerIntl, MatDatepickerToggle, MatDatepickerToggleIcon, MatEndDate, MatMonthView, MatMultiYearView, MatRangeDateSelectionModel, MatSingleDateSelectionModel, MatStartDate, MatYearView, MaxRangeDirective, MaxRangeSelectionStrategy, MenuDTO, MenuTypeEnum, MessageDTO, MessageService, MonthPickerModel, MonthYear, MonthYearPickerComponent, MonthYearPickerModule, MultitenantModel, NativeDateAdapter, NavService, NumberUtil, ObjectUtil, OverlayPanelComponent, POINTS_NAME, PageDTO, PasswordUtil, Permission, PermissionGuard, PhoneMaskDirective, PhoneUtil, Platform, PopoverComponent, PopoverRef, PopoverService, PresetRangeComponent, RadioButtonEnum, RadioGroupEntityComponent, RadioGroupEnumComponent, RangePage, Role, SelectButtonAddComponent, SelectButtonNextBatchComponent, SelectEntityComponent, SelectEntityPagedComponent, SelectEnumComponent, SelectMonthPeriodComponent, SelectNoEntriesFoundDirective, SelectSearchClearDirective, SelectSearchComponent, SharedModule, SlideToggleComponent, SortDTO, SortDirectionEnum, SortModel, StepperComponent, StringUtil, SvgRegisterService, TabDTO, TabModel, TableColumnBuilder, TableColumnBuilderModel, TableColumnDTO, TableColumnModel, TableComponent, TableScrolledComponent, TimeUtil, TokenDTO, URLParamsUtil, UUIDUtil, customCurrencyMaskConfig, getReflectType, gridResponsiveMap, matDatepickerAnimations, nextUniqueId$o 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 };
32563
+ export { APP_MESSAGES, AbstractComponent, AbstractCrudComponent, AbstractCrudService, AbstractDTO, AbstractFindComponent, AbstractFindService, AbstractModel, AbstractService, AlertComponent, Archive, ArrayUtil, AuthGuard, AuthInterceptor, AuthenticationService, BaseUser, BreakpointEnum, BreakpointObserverService, BrowserUtil, ButtonComponent, CLOCK_INNER_RADIUS, CLOCK_OUTER_RADIUS, CLOCK_RADIUS, CLOCK_TICK_RADIUS, CalendarMonthYearComponent, CardComponent, ChartDTO, CheckboxComponent, ConfirmationDTO, ConfirmationService, CoreModule, CriteriaOperationEnum, CriteriaSortDirectionEnum, CurrencyUtil, DEFAULT_MESSAGES, DateAdapter, DateRange, DateRangePickerComponent, DateUtil, DatepickerModule, DatetimepickerModule, 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, GIPIDateAndTimePickerComponent, GIPIDatetimeAdapter, GIPIDatetimepickerCalendarBodyComponent, GIPIDatetimepickerCalendarCell, GIPIDatetimepickerCalendarComponent, GIPIDatetimepickerClockComponent, GIPIDatetimepickerComponent, GIPIDatetimepickerContentComponent, GIPIDatetimepickerFilterType, GIPIDatetimepickerInputDirective, GIPIDatetimepickerInputEvent, GIPIDatetimepickerMonthViewComponent, GIPIDatetimepickerToggleComponent, GIPIDatetimepickerYearViewComponent, GIPIDomHandler, GIPIDropdownMenuComponent, GIPIDynamicTabDirective, GIPIEmptyStateComponent, GIPIExpansionPanelComponent, GIPIFileDragAndDropComponent, GIPIFileService, GIPIFooterComponent, GIPIFormFieldComponent, GIPIHelpfulTipComponent, GIPIInfiniteScrollDirective, GIPIInputCheckboxComponent, GIPIInputCurrencyComponent, GIPIInputMonthPickerComponent, GIPIInputPhoneComponent, GIPIInputSearchComponent, GIPIInputSelectComponent, GIPIInputSelectEnumComponent, GIPIInputSelectListboxComponent, GIPIInputSelectPagedComponent, GIPIInputSelectRadioComponent, GIPINativeDatetimeAdapter, GIPINativeDatetimeModule, GIPINotificationComponent, GIPINoveltiesComponent, GIPIOverlayComponent, GIPIOverlayService, GIPIPageEvent, GIPIPageModel, GIPIPaginatePipe, GIPIPaginationControlsDirective, GIPIPaginationService, GIPIPasswordRequerimentsComponent, GIPIPopoverComponent, GIPIPopoverTarget, GIPIPopoverTrigger, GIPIRadioGroupComponent, GIPIRangePageComponent, GIPIRangeSliderComponent, GIPIResizeService, GIPIRowDirective, GIPISelectButtonComponent, GIPISelectComponent, GIPISessionStorageService, GIPISidenavComponent, GIPISidenavContainerComponent, GIPISkeletonComponent, GIPISkeletonDirective, GIPISlideToggleComponent, GIPISortDirectionEnum, GIPISortModel, GIPISplitButtonComponent, GIPIStepperComponent, GIPITabComponent, GIPITabGroupComponent, GIPITableBodyComponent, GIPITableComponent, GIPITableFooterComponent, GIPITableHeaderComponent, GIPITablePaginationComponent, GIPITableProgressBarComponent, GIPITemplateDirective, GIPITextareaComponent, GIPIToolbarComponent, GIPITopNavComponent, GIPIUserProfileComponent, GIPI_BREAKPOINTS, GIPI_CUSTOM_BREAKPOINTS_PROVIDER, GIPI_DATETIMEPICKER_VALIDATORS, GIPI_DATETIMEPICKER_VALUE_ACCESSOR, GIPI_DATETIME_FORMATS, GIPI_MONTH_YEAR_SCROLL_STRATEGY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY, GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER, GIPI_NATIVE_DATETIME_FORMATS, 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, NativeDatetimeModule, NavService, NumberUtil, ObjectUtil, OverlayPanelComponent, POINTS_NAME, PageDTO, PasswordUtil, Permission, PermissionGuard, PhoneMaskDirective, PhoneUtil, Platform, PopoverComponent, PopoverRef, PopoverService, PresetRangeComponent, RadioButtonEnum, RadioGroupEntityComponent, RadioGroupEnumComponent, RangePage, Role, SelectButtonAddComponent, SelectButtonNextBatchComponent, SelectEntityComponent, SelectEntityPagedComponent, SelectEnumComponent, SelectMonthPeriodComponent, SelectNoEntriesFoundDirective, SelectSearchClearDirective, SelectSearchComponent, SharedModule, SlideToggleComponent, SortDTO, SortDirectionEnum, SortModel, StepperComponent, StringUtil, SvgRegisterService, TabDTO, TabModel, TableColumnBuilder, TableColumnBuilderModel, TableColumnDTO, TableColumnModel, TableComponent, TableScrolledComponent, TimeUtil, TokenDTO, URLParamsUtil, UUIDUtil, customCurrencyMaskConfig, getReflectType, gridResponsiveMap, matDatepickerAnimations, nextUniqueId$o as nextUniqueId, siderResponsiveMap, transformPopover, yearsPerPage$1 as yearsPerPage, yearsPerRow, ƟCMP, ƟFAC, ƟPROV, ɵ0$5 as ɵ0, ɵ1$1 as ɵ1, 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, slideCalendar as ɵs, GIPIDatetimepickerMultiYearViewComponent as ɵt };
29222
32564
  //# sourceMappingURL=gipisistemas-ng-core.js.map