@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
@@ -236,15 +236,6 @@
236
236
  NOT_PERMISSION: 'Infelizmente, esta ação não é permitida para o seu perfil',
237
237
  };
238
238
 
239
- /**
240
- * @license
241
- * Copyright Google LLC All Rights Reserved.
242
- *
243
- * Use of this source code is governed by an MIT-style license that can be
244
- * found in the LICENSE file at https://angular.io/license
245
- */
246
- var MAT_DATE_FORMATS = new core.InjectionToken('mat-date-formats');
247
-
248
239
  var MODULES = [
249
240
  a11y.A11yModule,
250
241
  popoverEdit.CdkPopoverEditModule,
@@ -301,6 +292,17 @@
301
292
  return MaterialModule;
302
293
  }());
303
294
 
295
+ /**
296
+ * @license
297
+ * Copyright Google LLC All Rights Reserved.
298
+ *
299
+ * Use of this source code is governed by an MIT-style license that can be
300
+ * found in the LICENSE file at https://angular.io/license
301
+ */
302
+ var MAT_DATE_FORMATS = new core.InjectionToken('mat-date-formats');
303
+
304
+ var GIPI_DATETIME_FORMATS = new core.InjectionToken('mat-datetime-formats');
305
+
304
306
  var ButtonComponent = /** @class */ (function () {
305
307
  function ButtonComponent() {
306
308
  this.color = 'primary';
@@ -400,7 +402,7 @@
400
402
  ButtonComponent = __decorate([
401
403
  core.Component({
402
404
  selector: 'itss-button',
403
- 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",
405
+ 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",
404
406
  styles: [":host button:disabled{cursor:not-allowed!important}:host button:disabled ::ng-deep .mat-button-wrapper{pointer-events:none!important}"]
405
407
  })
406
408
  ], ButtonComponent);
@@ -537,8 +539,6 @@
537
539
  var IconComponent = /** @class */ (function () {
538
540
  function IconComponent() {
539
541
  }
540
- IconComponent.prototype.ngOnInit = function () {
541
- };
542
542
  __decorate([
543
543
  core.Input(),
544
544
  __metadata("design:type", String)
@@ -562,7 +562,7 @@
562
562
  IconComponent = __decorate([
563
563
  core.Component({
564
564
  selector: 'itss-icon',
565
- 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",
565
+ 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",
566
566
  styles: [""]
567
567
  })
568
568
  ], IconComponent);
@@ -9376,7 +9376,7 @@
9376
9376
  core.Component({
9377
9377
  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]",
9378
9378
  exportAs: 'gipiButton',
9379
- 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>",
9379
+ 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",
9380
9380
  providers: [
9381
9381
  {
9382
9382
  provide: forms.NG_VALUE_ACCESSOR,
@@ -9904,7 +9904,7 @@
9904
9904
  'class': 'gipi-dropdown-menu',
9905
9905
  },
9906
9906
  changeDetection: core.ChangeDetectionStrategy.OnPush,
9907
- 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}"]
9907
+ 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}"]
9908
9908
  }),
9909
9909
  __metadata("design:paramtypes", [core.ChangeDetectorRef,
9910
9910
  core.ElementRef])
@@ -10359,6 +10359,7 @@
10359
10359
  this.id = this._name;
10360
10360
  this.name = this._name;
10361
10361
  this.label = '';
10362
+ this.tooltip = '';
10362
10363
  this.ariaLabel = '';
10363
10364
  this.placeholder = '';
10364
10365
  this.readonly = false;
@@ -10490,6 +10491,10 @@
10490
10491
  core.Input(),
10491
10492
  __metadata("design:type", String)
10492
10493
  ], GIPIFormFieldComponent.prototype, "label", void 0);
10494
+ __decorate([
10495
+ core.Input(),
10496
+ __metadata("design:type", String)
10497
+ ], GIPIFormFieldComponent.prototype, "tooltip", void 0);
10493
10498
  __decorate([
10494
10499
  core.Input(),
10495
10500
  __metadata("design:type", String)
@@ -10601,7 +10606,7 @@
10601
10606
  core.Component({
10602
10607
  selector: "gipi-form-field",
10603
10608
  exportAs: 'gipiFormField',
10604
- 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>",
10609
+ 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",
10605
10610
  providers: [
10606
10611
  {
10607
10612
  provide: forms.NG_VALUE_ACCESSOR,
@@ -10613,7 +10618,7 @@
10613
10618
  'class': 'gipi-form-field',
10614
10619
  },
10615
10620
  changeDetection: core.ChangeDetectionStrategy.OnPush,
10616
- 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}"]
10621
+ 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}"]
10617
10622
  }),
10618
10623
  __metadata("design:paramtypes", [core.ChangeDetectorRef,
10619
10624
  core.ElementRef])
@@ -10993,7 +10998,7 @@
10993
10998
  'class': 'gipi-input-currency',
10994
10999
  },
10995
11000
  changeDetection: core.ChangeDetectionStrategy.OnPush,
10996
- 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}"]
11001
+ 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}"]
10997
11002
  }),
10998
11003
  __metadata("design:paramtypes", [core.ChangeDetectorRef,
10999
11004
  core.ElementRef])
@@ -11413,7 +11418,7 @@
11413
11418
  'class': 'gipi-input-monthpicker',
11414
11419
  },
11415
11420
  changeDetection: core.ChangeDetectionStrategy.OnPush,
11416
- 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}"]
11421
+ 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}"]
11417
11422
  }),
11418
11423
  __metadata("design:paramtypes", [core.ChangeDetectorRef,
11419
11424
  GIPINgConfig])
@@ -11609,6 +11614,7 @@
11609
11614
  this._lastOptionSelected = null;
11610
11615
  this.id = this._name;
11611
11616
  this.name = this._name;
11617
+ this.tooltip = '';
11612
11618
  this.placeholder = 'Selecionar';
11613
11619
  this._disabled = false;
11614
11620
  this._loading = false;
@@ -11685,7 +11691,7 @@
11685
11691
  enumerable: false,
11686
11692
  configurable: true
11687
11693
  });
11688
- Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelected", {
11694
+ Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelectedValue", {
11689
11695
  get: function () {
11690
11696
  var _this = this;
11691
11697
  if (this.value && !ArrayUtil.isEmpty(this._enumList)) {
@@ -11699,6 +11705,20 @@
11699
11705
  enumerable: false,
11700
11706
  configurable: true
11701
11707
  });
11708
+ Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "optionSelectedKey", {
11709
+ get: function () {
11710
+ var _this = this;
11711
+ if (this.value && !ArrayUtil.isEmpty(this._enumList)) {
11712
+ var selected = this._enumList.find(function (e) { return e.key === _this.value; });
11713
+ if (selected) {
11714
+ return selected.key;
11715
+ }
11716
+ }
11717
+ return '';
11718
+ },
11719
+ enumerable: false,
11720
+ configurable: true
11721
+ });
11702
11722
  Object.defineProperty(GIPIInputSelectEnumComponent.prototype, "scrollViewportHeight", {
11703
11723
  get: function () {
11704
11724
  var height = 0;
@@ -11833,11 +11853,15 @@
11833
11853
  __decorate([
11834
11854
  core.Input(),
11835
11855
  __metadata("design:type", String)
11836
- ], GIPIInputSelectEnumComponent.prototype, "ariaLabel", void 0);
11856
+ ], GIPIInputSelectEnumComponent.prototype, "label", void 0);
11837
11857
  __decorate([
11838
11858
  core.Input(),
11839
11859
  __metadata("design:type", String)
11840
- ], GIPIInputSelectEnumComponent.prototype, "label", void 0);
11860
+ ], GIPIInputSelectEnumComponent.prototype, "tooltip", void 0);
11861
+ __decorate([
11862
+ core.Input(),
11863
+ __metadata("design:type", String)
11864
+ ], GIPIInputSelectEnumComponent.prototype, "ariaLabel", void 0);
11841
11865
  __decorate([
11842
11866
  core.Input(),
11843
11867
  __metadata("design:type", String)
@@ -11918,7 +11942,7 @@
11918
11942
  core.Component({
11919
11943
  selector: "gipi-input-select-enum",
11920
11944
  exportAs: 'gipiInputSelectEnum',
11921
- 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",
11945
+ 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",
11922
11946
  providers: [
11923
11947
  {
11924
11948
  provide: forms.NG_VALUE_ACCESSOR,
@@ -11930,7 +11954,7 @@
11930
11954
  'class': 'gipi-input-select-enum',
11931
11955
  },
11932
11956
  changeDetection: core.ChangeDetectionStrategy.OnPush,
11933
- 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}"]
11957
+ 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)}"]
11934
11958
  }),
11935
11959
  __metadata("design:paramtypes", [core.ElementRef,
11936
11960
  core.ChangeDetectorRef])
@@ -13310,7 +13334,7 @@
13310
13334
  'class': 'gipi-input-select',
13311
13335
  },
13312
13336
  changeDetection: core.ChangeDetectionStrategy.OnPush,
13313
- 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}"]
13337
+ 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}"]
13314
13338
  }),
13315
13339
  __metadata("design:paramtypes", [core.ChangeDetectorRef])
13316
13340
  ], GIPIInputSelectComponent);
@@ -15843,7 +15867,7 @@
15843
15867
  'class': 'gipi-radio-group',
15844
15868
  },
15845
15869
  changeDetection: core.ChangeDetectionStrategy.OnPush,
15846
- 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}"]
15870
+ 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}"]
15847
15871
  }),
15848
15872
  __metadata("design:paramtypes", [core.ChangeDetectorRef])
15849
15873
  ], GIPIRadioGroupComponent);
@@ -16117,7 +16141,7 @@
16117
16141
  multi: true
16118
16142
  },
16119
16143
  ],
16120
- 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}"]
16144
+ 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}"]
16121
16145
  }),
16122
16146
  __metadata("design:paramtypes", [core.ElementRef,
16123
16147
  core.ChangeDetectorRef])
@@ -16476,7 +16500,7 @@
16476
16500
  'class': 'gipi-range-slider',
16477
16501
  },
16478
16502
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16479
- 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}"]
16503
+ 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}"]
16480
16504
  }),
16481
16505
  __metadata("design:paramtypes", [core.ElementRef,
16482
16506
  core.ChangeDetectorRef])
@@ -16677,7 +16701,7 @@
16677
16701
  'class': 'gipi-select-button',
16678
16702
  },
16679
16703
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16680
- 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}"]
16704
+ 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}"]
16681
16705
  }),
16682
16706
  __metadata("design:paramtypes", [core.ElementRef,
16683
16707
  core.ChangeDetectorRef])
@@ -17723,7 +17747,7 @@
17723
17747
  core.Component({
17724
17748
  selector: "gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],\n gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]",
17725
17749
  exportAs: 'gipiSplitButton',
17726
- 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>",
17750
+ 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",
17727
17751
  providers: [
17728
17752
  {
17729
17753
  provide: forms.NG_VALUE_ACCESSOR,
@@ -18631,6 +18655,9 @@
18631
18655
  return componentRef.instance;
18632
18656
  };
18633
18657
  GIPITabGroupComponent.prototype.selectTab = function (tab) {
18658
+ if (tab.disabled) {
18659
+ return;
18660
+ }
18634
18661
  this.tabQueryList.toArray().forEach(function (t) { return (t.active = false); });
18635
18662
  this.dynamicTabs.forEach(function (t) { return (t.active = false); });
18636
18663
  tab.active = true;
@@ -18711,7 +18738,7 @@
18711
18738
  '[attr.id]': 'id',
18712
18739
  '[attr.name]': 'name',
18713
18740
  },
18714
- 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}"]
18741
+ 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}"]
18715
18742
  }),
18716
18743
  __metadata("design:paramtypes", [core.ElementRef,
18717
18744
  core.ComponentFactoryResolver])
@@ -19058,7 +19085,7 @@
19058
19085
  'class': 'gipi-textarea',
19059
19086
  },
19060
19087
  changeDetection: core.ChangeDetectionStrategy.OnPush,
19061
- 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}"]
19088
+ 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}"]
19062
19089
  }),
19063
19090
  __metadata("design:paramtypes", [core.ElementRef,
19064
19091
  core.ChangeDetectorRef])
@@ -23520,7 +23547,7 @@
23520
23547
  { provide: formField.MatFormFieldControl, useExisting: MatDateRangeInput_1 },
23521
23548
  { provide: MAT_DATE_RANGE_INPUT_PARENT, useExisting: MatDateRangeInput_1 },
23522
23549
  ],
23523
- 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}"]
23550
+ 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}"]
23524
23551
  }),
23525
23552
  __param(2, core.Optional()), __param(2, core.Self()),
23526
23553
  __param(3, core.Optional()),
@@ -24399,7 +24426,7 @@
24399
24426
  host: {
24400
24427
  'class': 'gipi-date-range-picker',
24401
24428
  },
24402
- 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}"]
24429
+ 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}"]
24403
24430
  }),
24404
24431
  __metadata("design:paramtypes", [core.ElementRef,
24405
24432
  core.ChangeDetectorRef])
@@ -24999,7 +25026,7 @@
24999
25026
  host: {
25000
25027
  'class': 'gipi-datepicker',
25001
25028
  },
25002
- 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}"]
25029
+ 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}"]
25003
25030
  }),
25004
25031
  __metadata("design:paramtypes", [core.ElementRef,
25005
25032
  core.ChangeDetectorRef])
@@ -25106,129 +25133,3374 @@
25106
25133
  return DatepickerModule;
25107
25134
  }());
25108
25135
 
25109
- var moment$4 = moment_;
25110
- var CalendarMonthYearComponent = /** @class */ (function () {
25111
- function CalendarMonthYearComponent(_changeDetectorRef) {
25112
- this._changeDetectorRef = _changeDetectorRef;
25113
- this._subscriptions = new rxjs.Subscription();
25114
- this._animationState = 'enter';
25115
- this._animationDone = new rxjs.Subject();
25116
- this.years = [];
25117
- this.months = [];
25118
- this._calendarView = 'both';
25136
+ /**
25137
+ * This animation fades in the background color and text content of the
25138
+ * select's options. It is time delayed to occur 100ms after the overlay
25139
+ * panel has transformed in.
25140
+ */
25141
+ var fadeInContent = animations.trigger('fadeInContent', [
25142
+ animations.state('showing', animations.style({ opacity: 1 })),
25143
+ animations.transition('void => showing', [
25144
+ animations.style({ opacity: 0 }),
25145
+ animations.animate("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"),
25146
+ ]),
25147
+ ]);
25148
+ var slideCalendar = animations.trigger('slideCalendar', [
25149
+ animations.transition('* => left', [
25150
+ animations.animate(180, animations.keyframes([
25151
+ animations.style({ transform: 'translateX(100%)', offset: 0.5 }),
25152
+ animations.style({ transform: 'translateX(-100%)', offset: 0.51 }),
25153
+ animations.style({ transform: 'translateX(0)', offset: 1 }),
25154
+ ])),
25155
+ ]),
25156
+ animations.transition('* => right', [
25157
+ animations.animate(180, animations.keyframes([
25158
+ animations.style({ transform: 'translateX(-100%)', offset: 0.5 }),
25159
+ animations.style({ transform: 'translateX(100%)', offset: 0.51 }),
25160
+ animations.style({ transform: 'translateX(0)', offset: 1 }),
25161
+ ])),
25162
+ ]),
25163
+ ]);
25164
+
25165
+ /** @docs-private */
25166
+ function createMissingDateImplError$1(provider) {
25167
+ return Error("GIPIDatetimepickerComponent: No provider found for " + provider + ". You must import one of the following " +
25168
+ "modules at your application root: GIPINativeDatetimeModule, GIPIMomentDatetimeModule, or provide a " +
25169
+ "custom implementation.");
25170
+ }
25171
+
25172
+
25173
+ (function (GIPIDatetimepickerFilterType) {
25174
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["DATE"] = 0] = "DATE";
25175
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["HOUR"] = 1] = "HOUR";
25176
+ GIPIDatetimepickerFilterType[GIPIDatetimepickerFilterType["MINUTE"] = 2] = "MINUTE";
25177
+ })(exports.GIPIDatetimepickerFilterType || (exports.GIPIDatetimepickerFilterType = {}));
25178
+
25179
+ /**
25180
+ * An internal class that represents the data corresponding to a single calendar cell.
25181
+ * @docs-private
25182
+ */
25183
+ var GIPIDatetimepickerCalendarCell = /** @class */ (function () {
25184
+ function GIPIDatetimepickerCalendarCell(value, displayValue, ariaLabel, enabled) {
25185
+ this.value = value;
25186
+ this.displayValue = displayValue;
25187
+ this.ariaLabel = ariaLabel;
25188
+ this.enabled = enabled;
25119
25189
  }
25120
- CalendarMonthYearComponent_1 = CalendarMonthYearComponent;
25121
- CalendarMonthYearComponent.prototype.ngOnInit = function () {
25122
- if (this._locale) {
25123
- moment$4.locale(this._locale);
25124
- }
25125
- else {
25126
- moment$4.locale('pt-br');
25190
+ return GIPIDatetimepickerCalendarCell;
25191
+ }());
25192
+ /**
25193
+ * An internal component used to display calendar data in a table.
25194
+ * @docs-private
25195
+ */
25196
+ var GIPIDatetimepickerCalendarBodyComponent = /** @class */ (function () {
25197
+ function GIPIDatetimepickerCalendarBodyComponent() {
25198
+ /**
25199
+ * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be
25200
+ * maintained even as the table resizes.
25201
+ */
25202
+ this.cellAspectRatio = 1;
25203
+ /** The number of columns in the table. */
25204
+ this.numCols = 7;
25205
+ /** Whether to allow selection of disabled cells. */
25206
+ this.allowDisabledSelection = false;
25207
+ /** The cell number of the active cell in the table. */
25208
+ this.activeCell = 0;
25209
+ /** Emits when a new value is selected. */
25210
+ this.selectedValueChange = new core.EventEmitter();
25211
+ }
25212
+ GIPIDatetimepickerCalendarBodyComponent.prototype._cellClicked = function (cell) {
25213
+ if (!this.allowDisabledSelection && !cell.enabled) {
25214
+ return;
25127
25215
  }
25128
- this.months = __spread(this.monthYearPicker.model.months);
25129
- this._calendarView = this.monthYearPicker.calendarView;
25130
- if (this._calendarView === 'year') {
25131
- this.toggleShowYears();
25216
+ this.selectedValueChange.emit(cell.value);
25217
+ };
25218
+ GIPIDatetimepickerCalendarBodyComponent.prototype._isActiveCell = function (rowIndex, colIndex) {
25219
+ var cellNumber = rowIndex * this.numCols + colIndex;
25220
+ // Account for the fact that the first row may not have as many cells.
25221
+ if (rowIndex) {
25222
+ cellNumber -= this._firstRowOffset;
25132
25223
  }
25133
- this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
25224
+ return cellNumber === this.activeCell;
25134
25225
  };
25135
- CalendarMonthYearComponent.prototype.ngAfterViewInit = function () {
25136
- var _this = this;
25137
- if (this._changeDetectorRef) {
25138
- this._subscriptions.add(this.monthYearPicker._stateChanges.subscribe(function () {
25139
- _this._changeDetectorRef.markForCheck();
25140
- }));
25226
+ GIPIDatetimepickerCalendarBodyComponent.prototype.ngOnChanges = function (changes) {
25227
+ var columnChanges = changes['numCols'];
25228
+ var _a = this, rows = _a.rows, numCols = _a.numCols;
25229
+ if (changes['rows'] || columnChanges) {
25230
+ this._firstRowOffset = rows && rows.length && rows[0].length ? numCols - rows[0].length : 0;
25231
+ }
25232
+ if (changes['cellAspectRatio'] || columnChanges || !this._cellPadding) {
25233
+ this._cellPadding = 50 * this.cellAspectRatio / numCols + "%";
25234
+ }
25235
+ if (columnChanges || !this._cellWidth) {
25236
+ this._cellWidth = 100 / numCols + "%";
25141
25237
  }
25142
25238
  };
25143
- CalendarMonthYearComponent.prototype.ngOnDestroy = function () {
25144
- this._subscriptions.unsubscribe();
25145
- this._animationDone.complete();
25239
+ __decorate([
25240
+ core.Input(),
25241
+ __metadata("design:type", Number)
25242
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "cellAspectRatio", void 0);
25243
+ __decorate([
25244
+ core.Input(),
25245
+ __metadata("design:type", String)
25246
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "label", void 0);
25247
+ __decorate([
25248
+ core.Input(),
25249
+ __metadata("design:type", Array)
25250
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "rows", void 0);
25251
+ __decorate([
25252
+ core.Input(),
25253
+ __metadata("design:type", Number)
25254
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "todayValue", void 0);
25255
+ __decorate([
25256
+ core.Input(),
25257
+ __metadata("design:type", Number)
25258
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "selectedValue", void 0);
25259
+ __decorate([
25260
+ core.Input(),
25261
+ __metadata("design:type", Number)
25262
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "labelMinRequiredCells", void 0);
25263
+ __decorate([
25264
+ core.Input(),
25265
+ __metadata("design:type", Object)
25266
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "numCols", void 0);
25267
+ __decorate([
25268
+ core.Input(),
25269
+ __metadata("design:type", Object)
25270
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "allowDisabledSelection", void 0);
25271
+ __decorate([
25272
+ core.Input(),
25273
+ __metadata("design:type", Object)
25274
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "activeCell", void 0);
25275
+ __decorate([
25276
+ core.Output(),
25277
+ __metadata("design:type", Object)
25278
+ ], GIPIDatetimepickerCalendarBodyComponent.prototype, "selectedValueChange", void 0);
25279
+ GIPIDatetimepickerCalendarBodyComponent = __decorate([
25280
+ core.Component({
25281
+ selector: 'tbody[gipiMatDatetimePickerCalendarBody]',
25282
+ 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",
25283
+ encapsulation: core.ViewEncapsulation.None,
25284
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
25285
+ host: {
25286
+ class: 'gipi-mat-datetime-picker-calendar-body',
25287
+ },
25288
+ 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}"]
25289
+ })
25290
+ ], GIPIDatetimepickerCalendarBodyComponent);
25291
+ return GIPIDatetimepickerCalendarBodyComponent;
25292
+ }());
25293
+
25294
+ var GIPIDatetimeAdapter = /** @class */ (function (_super) {
25295
+ __extends(GIPIDatetimeAdapter, _super);
25296
+ function GIPIDatetimeAdapter(_delegate) {
25297
+ var _this = _super.call(this) || this;
25298
+ _this._delegate = _delegate;
25299
+ return _this;
25300
+ }
25301
+ GIPIDatetimeAdapter.prototype.getValidDateOrNull = function (obj) {
25302
+ return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;
25146
25303
  };
25147
- CalendarMonthYearComponent.prototype._startExitAnimation = function () {
25148
- this._animationState = 'void';
25149
- if (this._changeDetectorRef) {
25150
- this._changeDetectorRef.markForCheck();
25151
- }
25304
+ GIPIDatetimeAdapter.prototype.compareDatetime = function (first, second, respectMinutePart) {
25305
+ if (respectMinutePart === void 0) { respectMinutePart = true; }
25306
+ return (this.compareDate(first, second) ||
25307
+ this.getHour(first) - this.getHour(second) ||
25308
+ (respectMinutePart && this.getMinute(first) - this.getMinute(second)));
25152
25309
  };
25153
- CalendarMonthYearComponent.prototype.decrement = function () {
25154
- this.monthYearPicker.model.decrementYear();
25155
- if (this.isShowYears) {
25156
- this._renderYears();
25310
+ GIPIDatetimeAdapter.prototype.sameDatetime = function (first, second) {
25311
+ if (first && second) {
25312
+ var firstValid = this.isValid(first);
25313
+ var secondValid = this.isValid(second);
25314
+ if (firstValid && secondValid) {
25315
+ return !this.compareDatetime(first, second);
25316
+ }
25317
+ return firstValid === secondValid;
25157
25318
  }
25319
+ return first === second;
25158
25320
  };
25159
- CalendarMonthYearComponent.prototype.increment = function () {
25160
- this.monthYearPicker.model.incrementYear();
25161
- if (this.isShowYears) {
25162
- this._renderYears();
25163
- }
25321
+ GIPIDatetimeAdapter.prototype.sameYear = function (first, second) {
25322
+ return first && second && this.getYear(first) === this.getYear(second);
25164
25323
  };
25165
- CalendarMonthYearComponent.prototype.selectMonth = function (index) {
25166
- this.monthYearPicker.model.selectMonth(index);
25167
- this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
25168
- this.monthYearPicker.close();
25324
+ GIPIDatetimeAdapter.prototype.sameDay = function (first, second) {
25325
+ return (first &&
25326
+ second &&
25327
+ this.getDate(first) === this.getDate(second) &&
25328
+ this.sameMonthAndYear(first, second));
25169
25329
  };
25170
- CalendarMonthYearComponent.prototype.isSelectedMonth = function (monthIndex) {
25171
- return this.monthYearPicker.model.selectedMonthIndex == monthIndex && this.monthYearPicker.model.selectedMonthYear == this.monthYearPicker.model.selectedYearMoment.year();
25330
+ GIPIDatetimeAdapter.prototype.sameHour = function (first, second) {
25331
+ return (first &&
25332
+ second &&
25333
+ this.getHour(first) === this.getHour(second) &&
25334
+ this.sameDay(first, second));
25172
25335
  };
25173
- CalendarMonthYearComponent.prototype.isCurrentMonth = function (monthIndex) {
25174
- var currentMonth = moment$4().month();
25175
- var currentYear = moment$4().year();
25176
- return (monthIndex === currentMonth) && (this.monthYearPicker.model.selectedYearMoment.year() === currentYear);
25336
+ GIPIDatetimeAdapter.prototype.sameMinute = function (first, second) {
25337
+ return (first &&
25338
+ second &&
25339
+ this.getMinute(first) === this.getMinute(second) &&
25340
+ this.sameHour(first, second));
25177
25341
  };
25178
- CalendarMonthYearComponent.prototype.isDisabledMonth = function (index) {
25179
- var disabled = false;
25180
- if (!ObjectUtil.isNull(this.monthYearPicker)) {
25181
- var minMonth = !ObjectUtil.isNull(this.monthYearPicker.min) ? this.monthYearPicker.min.month : null;
25182
- var maxMonth = !ObjectUtil.isNull(this.monthYearPicker.max) ? this.monthYearPicker.max.month : null;
25183
- if (!ObjectUtil.isNull(minMonth) && !ObjectUtil.isNull(maxMonth)) {
25184
- disabled = index < minMonth || index > maxMonth;
25185
- }
25186
- else if (!ObjectUtil.isNull(minMonth)) {
25187
- disabled = index < minMonth;
25188
- }
25189
- else if (!ObjectUtil.isNull(maxMonth)) {
25190
- disabled = index > maxMonth;
25342
+ GIPIDatetimeAdapter.prototype.sameMonthAndYear = function (first, second) {
25343
+ if (first && second) {
25344
+ var firstValid = this.isValid(first);
25345
+ var secondValid = this.isValid(second);
25346
+ if (firstValid && secondValid) {
25347
+ return !(this.getYear(first) - this.getYear(second) ||
25348
+ this.getMonth(first) - this.getMonth(second));
25191
25349
  }
25350
+ return firstValid === secondValid;
25192
25351
  }
25193
- return disabled;
25194
- // let disabled = false;
25195
- // if (this._enabledMonths && this._enabledMonths.length > 0) {
25196
- // disabled = this._enabledMonths.indexOf(index) < 0;
25197
- // }
25198
- // if (this._disabledMonths && this._disabledMonths.length > 0) {
25199
- // disabled = this._disabledMonths.indexOf(index) >= 0;
25200
- // }
25201
- // return disabled;
25352
+ return first === second;
25202
25353
  };
25203
- /** Years */
25204
- CalendarMonthYearComponent.prototype.toggleShowYears = function () {
25205
- this.isShowYears = !this.isShowYears;
25206
- this._renderYears();
25354
+ // delegate
25355
+ GIPIDatetimeAdapter.prototype.deserialize = function (value) {
25356
+ return this._delegate.deserialize(value);
25207
25357
  };
25208
- CalendarMonthYearComponent.prototype._renderYears = function () {
25209
- this.years = [];
25210
- for (var i = 11; i > 0; i--) {
25211
- this.years.push(this.monthYearPicker.model.selectedYearMoment.year() - i);
25212
- }
25213
- for (var i = 0; i <= 12; i++) {
25214
- this.years.push(this.monthYearPicker.model.selectedYearMoment.year() + i);
25215
- }
25358
+ GIPIDatetimeAdapter.prototype.clone = function (date) {
25359
+ return this._delegate.clone(date);
25216
25360
  };
25217
- Object.defineProperty(CalendarMonthYearComponent.prototype, "periodButtonLabel", {
25218
- get: function () {
25219
- var formatYearRange = function (start, end) {
25220
- return start + " \u2013 " + end;
25221
- };
25222
- return this.isShowYears ? formatYearRange(this.years[0], this.years[this.years.length - 1]) : this.monthYearPicker.model.selectedYearText;
25223
- },
25224
- enumerable: false,
25225
- configurable: true
25226
- });
25227
- CalendarMonthYearComponent.prototype.selectYear = function (year) {
25228
- if (this._calendarView === 'both') {
25229
- this.isShowYears = false;
25230
- }
25231
- this.monthYearPicker.model.selectedYearMoment = moment$4().year(year);
25361
+ GIPIDatetimeAdapter.prototype.addCalendarYears = function (date, years) {
25362
+ return this._delegate.addCalendarYears(date, years);
25363
+ };
25364
+ GIPIDatetimeAdapter.prototype.addCalendarMonths = function (date, months) {
25365
+ return this._delegate.addCalendarMonths(date, months);
25366
+ };
25367
+ GIPIDatetimeAdapter.prototype.addCalendarDays = function (date, days) {
25368
+ return this._delegate.addCalendarDays(date, days);
25369
+ };
25370
+ GIPIDatetimeAdapter.prototype.getYear = function (date) {
25371
+ return this._delegate.getYear(date);
25372
+ };
25373
+ GIPIDatetimeAdapter.prototype.getMonth = function (date) {
25374
+ return this._delegate.getMonth(date);
25375
+ };
25376
+ GIPIDatetimeAdapter.prototype.getDate = function (date) {
25377
+ return this._delegate.getDate(date);
25378
+ };
25379
+ GIPIDatetimeAdapter.prototype.getDayOfWeek = function (date) {
25380
+ return this._delegate.getDayOfWeek(date);
25381
+ };
25382
+ GIPIDatetimeAdapter.prototype.getMonthNames = function (style) {
25383
+ return this._delegate.getMonthNames(style);
25384
+ };
25385
+ GIPIDatetimeAdapter.prototype.getDateNames = function () {
25386
+ return this._delegate.getDateNames();
25387
+ };
25388
+ GIPIDatetimeAdapter.prototype.getDayOfWeekNames = function (style) {
25389
+ return this._delegate.getDayOfWeekNames(style);
25390
+ };
25391
+ GIPIDatetimeAdapter.prototype.getYearName = function (date) {
25392
+ return this._delegate.getYearName(date);
25393
+ };
25394
+ GIPIDatetimeAdapter.prototype.getFirstDayOfWeek = function () {
25395
+ return this._delegate.getFirstDayOfWeek();
25396
+ };
25397
+ GIPIDatetimeAdapter.prototype.getNumDaysInMonth = function (date) {
25398
+ return this._delegate.getNumDaysInMonth(date);
25399
+ };
25400
+ GIPIDatetimeAdapter.prototype.createDate = function (year, month, date) {
25401
+ return this._delegate.createDate(year, month, date);
25402
+ };
25403
+ GIPIDatetimeAdapter.prototype.today = function () {
25404
+ return this._delegate.today();
25405
+ };
25406
+ GIPIDatetimeAdapter.prototype.parse = function (value, parseFormat) {
25407
+ return this._delegate.parse(value, parseFormat);
25408
+ };
25409
+ GIPIDatetimeAdapter.prototype.format = function (date, displayFormat) {
25410
+ return this._delegate.format(date, displayFormat);
25411
+ };
25412
+ GIPIDatetimeAdapter.prototype.toIso8601 = function (date) {
25413
+ return this._delegate.toIso8601(date);
25414
+ };
25415
+ GIPIDatetimeAdapter.prototype.isDateInstance = function (obj) {
25416
+ return this._delegate.isDateInstance(obj);
25417
+ };
25418
+ GIPIDatetimeAdapter.prototype.isValid = function (date) {
25419
+ return this._delegate.isValid(date);
25420
+ };
25421
+ GIPIDatetimeAdapter.prototype.invalid = function () {
25422
+ return this._delegate.invalid();
25423
+ };
25424
+ GIPIDatetimeAdapter.prototype.clampDate = function (date, min, max) {
25425
+ if (min && this.compareDatetime(date, min) < 0) {
25426
+ return min;
25427
+ }
25428
+ if (max && this.compareDatetime(date, max) > 0) {
25429
+ return max;
25430
+ }
25431
+ return date;
25432
+ };
25433
+ return GIPIDatetimeAdapter;
25434
+ }(core$1.DateAdapter));
25435
+
25436
+ var yearsPerPage$2 = 24;
25437
+ var yearsPerRow$1 = 4;
25438
+ /**
25439
+ * An internal component used to display multiple years in the datepicker.
25440
+ * @docs-private
25441
+ */
25442
+ var GIPIDatetimepickerMultiYearViewComponent = /** @class */ (function () {
25443
+ function GIPIDatetimepickerMultiYearViewComponent(_adapter, _dateFormats) {
25444
+ this._adapter = _adapter;
25445
+ this._dateFormats = _dateFormats;
25446
+ this.type = 'date';
25447
+ /** Emits when a new month is selected. */
25448
+ this.selectedChange = new core.EventEmitter();
25449
+ this._userSelection = new core.EventEmitter();
25450
+ if (!this._adapter) {
25451
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
25452
+ }
25453
+ if (!this._dateFormats) {
25454
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
25455
+ }
25456
+ this._activeDate = this._adapter.today();
25457
+ }
25458
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "activeDate", {
25459
+ get: function () {
25460
+ return this._activeDate;
25461
+ },
25462
+ set: function (value) {
25463
+ var oldActiveDate = this._activeDate;
25464
+ this._activeDate = value || this._adapter.today();
25465
+ if (oldActiveDate && this._activeDate && !isSameMultiYearView$1(this._adapter, oldActiveDate, this._activeDate, this.minDate, this.maxDate)) {
25466
+ this._init();
25467
+ }
25468
+ },
25469
+ enumerable: false,
25470
+ configurable: true
25471
+ });
25472
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "selected", {
25473
+ get: function () {
25474
+ return this._selected;
25475
+ },
25476
+ set: function (value) {
25477
+ this._selected = value;
25478
+ this._selectedYear = this._selected && this._adapter.getYear(this._selected);
25479
+ },
25480
+ enumerable: false,
25481
+ configurable: true
25482
+ });
25483
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "minDate", {
25484
+ get: function () {
25485
+ return this._minDate;
25486
+ },
25487
+ set: function (value) {
25488
+ this._minDate = this._getValidDateOrNull(this._adapter.deserialize(value));
25489
+ },
25490
+ enumerable: false,
25491
+ configurable: true
25492
+ });
25493
+ Object.defineProperty(GIPIDatetimepickerMultiYearViewComponent.prototype, "maxDate", {
25494
+ get: function () {
25495
+ return this._maxDate;
25496
+ },
25497
+ set: function (value) {
25498
+ this._maxDate = this._getValidDateOrNull(this._adapter.deserialize(value));
25499
+ },
25500
+ enumerable: false,
25501
+ configurable: true
25502
+ });
25503
+ GIPIDatetimepickerMultiYearViewComponent.prototype.ngAfterContentInit = function () {
25504
+ this._init();
25505
+ };
25506
+ /** Handles when a new year is selected. */
25507
+ GIPIDatetimepickerMultiYearViewComponent.prototype._yearSelected = function (year) {
25508
+ var month = this._adapter.getMonth(this.activeDate);
25509
+ var normalizedDate = this._adapter.createDatetime(year, month, 1, 0, 0);
25510
+ 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)));
25511
+ if (this.type === 'year') {
25512
+ this._userSelection.emit();
25513
+ }
25514
+ };
25515
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getActiveCell = function () {
25516
+ return getActiveOffset$1(this._adapter, this.activeDate, this.minDate, this.maxDate);
25517
+ };
25518
+ GIPIDatetimepickerMultiYearViewComponent.prototype._calendarStateDone = function () {
25519
+ this._calendarState = '';
25520
+ };
25521
+ /** Initializes this year view. */
25522
+ GIPIDatetimepickerMultiYearViewComponent.prototype._init = function () {
25523
+ var _this = this;
25524
+ this._todayYear = this._adapter.getYear(this._adapter.today());
25525
+ this._yearLabel = this._adapter.getYearName(this.activeDate);
25526
+ var activeYear = this._adapter.getYear(this.activeDate);
25527
+ var minYearOfPage = activeYear - getActiveOffset$1(this._adapter, this.activeDate, this.minDate, this.maxDate);
25528
+ this._years = [];
25529
+ for (var i = 0, row = []; i < yearsPerPage$2; i++) {
25530
+ row.push(minYearOfPage + i);
25531
+ if (row.length == yearsPerRow$1) {
25532
+ this._years.push(row.map(function (year) { return _this._createCellForYear(year); }));
25533
+ row = [];
25534
+ }
25535
+ }
25536
+ };
25537
+ /** Creates an GIPIDatetimepickerCalendarCell for the given year. */
25538
+ GIPIDatetimepickerMultiYearViewComponent.prototype._createCellForYear = function (year) {
25539
+ var yearName = this._adapter.getYearName(this._adapter.createDate(year, 0, 1));
25540
+ return new GIPIDatetimepickerCalendarCell(year, yearName, yearName, this._shouldEnableYear(year));
25541
+ };
25542
+ /** Whether the given year is enabled. */
25543
+ GIPIDatetimepickerMultiYearViewComponent.prototype._shouldEnableYear = function (year) {
25544
+ // disable if the year is greater than maxDate lower than minDate
25545
+ if (year === undefined ||
25546
+ year === null ||
25547
+ (this.maxDate && year > this._adapter.getYear(this.maxDate)) ||
25548
+ (this.minDate && year < this._adapter.getYear(this.minDate))) {
25549
+ return false;
25550
+ }
25551
+ // enable if it reaches here and there's no filter defined
25552
+ if (!this.dateFilter) {
25553
+ return true;
25554
+ }
25555
+ var firstOfYear = this._adapter.createDate(year, 0, 1);
25556
+ // If any date in the year is enabled count the year as enabled.
25557
+ for (var date = firstOfYear; this._adapter.getYear(date) == year; date = this._adapter.addCalendarDays(date, 1)) {
25558
+ if (this.dateFilter(date)) {
25559
+ return true;
25560
+ }
25561
+ }
25562
+ return false;
25563
+ };
25564
+ /**
25565
+ * Gets the year in this years range that the given Date falls on.
25566
+ * Returns null if the given Date is not in this range.
25567
+ */
25568
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getYearInCurrentRange = function (date) {
25569
+ var year = this._adapter.getYear(date);
25570
+ return this._isInRange(year) ? year : null;
25571
+ };
25572
+ /**
25573
+ * Validate if the current year is in the current range
25574
+ * Returns true if is in range else returns false
25575
+ */
25576
+ GIPIDatetimepickerMultiYearViewComponent.prototype._isInRange = function (year) {
25577
+ return true;
25578
+ };
25579
+ /**
25580
+ * @param obj The object to check.
25581
+ * @returns The given object if it is both a date instance and valid, otherwise null.
25582
+ */
25583
+ GIPIDatetimepickerMultiYearViewComponent.prototype._getValidDateOrNull = function (obj) {
25584
+ return this._adapter.isDateInstance(obj) && this._adapter.isValid(obj) ? obj : null;
25585
+ };
25586
+ GIPIDatetimepickerMultiYearViewComponent.ctorParameters = function () { return [
25587
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
25588
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [GIPI_DATETIME_FORMATS,] }] }
25589
+ ]; };
25590
+ __decorate([
25591
+ core.Input(),
25592
+ __metadata("design:type", String)
25593
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "type", void 0);
25594
+ __decorate([
25595
+ core.Input(),
25596
+ __metadata("design:type", Function)
25597
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "dateFilter", void 0);
25598
+ __decorate([
25599
+ core.Input(),
25600
+ __metadata("design:type", Object),
25601
+ __metadata("design:paramtypes", [Object])
25602
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "activeDate", null);
25603
+ __decorate([
25604
+ core.Input(),
25605
+ __metadata("design:type", Object),
25606
+ __metadata("design:paramtypes", [Object])
25607
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "selected", null);
25608
+ __decorate([
25609
+ core.Input(),
25610
+ __metadata("design:type", Object),
25611
+ __metadata("design:paramtypes", [Object])
25612
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "minDate", null);
25613
+ __decorate([
25614
+ core.Input(),
25615
+ __metadata("design:type", Object),
25616
+ __metadata("design:paramtypes", [Object])
25617
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "maxDate", null);
25618
+ __decorate([
25619
+ core.Output(),
25620
+ __metadata("design:type", Object)
25621
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "selectedChange", void 0);
25622
+ __decorate([
25623
+ core.Output(),
25624
+ __metadata("design:type", Object)
25625
+ ], GIPIDatetimepickerMultiYearViewComponent.prototype, "_userSelection", void 0);
25626
+ GIPIDatetimepickerMultiYearViewComponent = __decorate([
25627
+ core.Component({
25628
+ selector: 'gipi-mat-datetime-picker-multi-year-view',
25629
+ 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>",
25630
+ animations: [slideCalendar],
25631
+ encapsulation: core.ViewEncapsulation.None,
25632
+ changeDetection: core.ChangeDetectionStrategy.OnPush
25633
+ }),
25634
+ __param(0, core.Optional()),
25635
+ __param(1, core.Optional()),
25636
+ __param(1, core.Inject(GIPI_DATETIME_FORMATS)),
25637
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
25638
+ ], GIPIDatetimepickerMultiYearViewComponent);
25639
+ return GIPIDatetimepickerMultiYearViewComponent;
25640
+ }());
25641
+ function isSameMultiYearView$1(dateAdapter, date1, date2, minDate, maxDate) {
25642
+ var year1 = dateAdapter.getYear(date1);
25643
+ var year2 = dateAdapter.getYear(date2);
25644
+ var startingYear = getStartingYear$1(dateAdapter, minDate, maxDate);
25645
+ return (Math.floor((year1 - startingYear) / yearsPerPage$2) === Math.floor((year2 - startingYear) / yearsPerPage$2));
25646
+ }
25647
+ /**
25648
+ * When the multi-year view is first opened, the active year will be in view.
25649
+ * So we compute how many years are between the active year and the *slot* where our
25650
+ * "startingYear" will render when paged into view.
25651
+ */
25652
+ function getActiveOffset$1(dateAdapter, activeDate, minDate, maxDate) {
25653
+ var activeYear = dateAdapter.getYear(activeDate);
25654
+ return euclideanModulo$1(activeYear - getStartingYear$1(dateAdapter, minDate, maxDate), yearsPerPage$2);
25655
+ }
25656
+ /**
25657
+ * We pick a "starting" year such that either the maximum year would be at the end
25658
+ * or the minimum year would be at the beginning of a page.
25659
+ */
25660
+ function getStartingYear$1(dateAdapter, minDate, maxDate) {
25661
+ var startingYear = 0;
25662
+ if (maxDate) {
25663
+ var maxYear = dateAdapter.getYear(maxDate);
25664
+ startingYear = maxYear - yearsPerPage$2 + 1;
25665
+ }
25666
+ else if (minDate) {
25667
+ startingYear = dateAdapter.getYear(minDate);
25668
+ }
25669
+ return startingYear;
25670
+ }
25671
+ /** Gets remainder that is non-negative, even if first number is negative */
25672
+ function euclideanModulo$1(a, b) {
25673
+ return ((a % b) + b) % b;
25674
+ }
25675
+
25676
+ /**
25677
+ * A calendar that is used as part of the datepicker.
25678
+ * @docs-private
25679
+ */
25680
+ var GIPIDatetimepickerCalendarComponent = /** @class */ (function () {
25681
+ function GIPIDatetimepickerCalendarComponent(_elementRef, _intl, _ngZone, _adapter, _dateFormats, changeDetectorRef) {
25682
+ var _this = this;
25683
+ this._elementRef = _elementRef;
25684
+ this._intl = _intl;
25685
+ this._ngZone = _ngZone;
25686
+ this._adapter = _adapter;
25687
+ this._dateFormats = _dateFormats;
25688
+ this._clockView = 'hour';
25689
+ /** Active multi year view when click on year. */
25690
+ this.multiYearSelector = true;
25691
+ /** Whether the calendar should be started in month or year view. */
25692
+ this.startView = 'month';
25693
+ this.twelvehour = false;
25694
+ this.timeInterval = 1;
25695
+ this.ariaLabel = 'Use arrow keys to navigate';
25696
+ this.ariaNextMonthLabel = 'Next month';
25697
+ this.ariaPrevMonthLabel = 'Previous month';
25698
+ this.ariaNextYearLabel = 'Next year';
25699
+ this.ariaPrevYearLabel = 'Previous year';
25700
+ this.ariaNextMultiYearLabel = 'Next year range';
25701
+ this.ariaPrevMultiYearLabel = 'Previous year range';
25702
+ /** Prevent user to select same date time */
25703
+ this.preventSameDateTimeSelection = false;
25704
+ this._type = 'date';
25705
+ /** Emits when the currently selected date changes. */
25706
+ this.selectedChange = new core.EventEmitter();
25707
+ /** Emits when the view has been changed. **/
25708
+ this.viewChanged = new core.EventEmitter();
25709
+ this._userSelection = new core.EventEmitter();
25710
+ /** Date filter for the month and year views. */
25711
+ this._dateFilterForViews = function (date) {
25712
+ return (!!date &&
25713
+ (!_this.dateFilter || _this.dateFilter(date, exports.GIPIDatetimepickerFilterType.DATE)) &&
25714
+ (!_this.minDate || _this._adapter.compareDate(date, _this.minDate) >= 0) &&
25715
+ (!_this.maxDate || _this._adapter.compareDate(date, _this.maxDate) <= 0));
25716
+ };
25717
+ if (!this._adapter) {
25718
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
25719
+ }
25720
+ if (!this._dateFormats) {
25721
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
25722
+ }
25723
+ this._intlChanges = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
25724
+ }
25725
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "type", {
25726
+ get: function () {
25727
+ return this._type;
25728
+ },
25729
+ set: function (value) {
25730
+ this._type = value || 'date';
25731
+ if (this.type === 'year') {
25732
+ this.multiYearSelector = true;
25733
+ }
25734
+ },
25735
+ enumerable: false,
25736
+ configurable: true
25737
+ });
25738
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "startAt", {
25739
+ get: function () {
25740
+ return this._startAt;
25741
+ },
25742
+ set: function (value) {
25743
+ this._startAt = this._adapter.getValidDateOrNull(value);
25744
+ },
25745
+ enumerable: false,
25746
+ configurable: true
25747
+ });
25748
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "selected", {
25749
+ get: function () {
25750
+ return this._selected;
25751
+ },
25752
+ set: function (value) {
25753
+ this._selected = this._adapter.getValidDateOrNull(value);
25754
+ },
25755
+ enumerable: false,
25756
+ configurable: true
25757
+ });
25758
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "minDate", {
25759
+ get: function () {
25760
+ return this._minDate;
25761
+ },
25762
+ set: function (value) {
25763
+ this._minDate = this._adapter.getValidDateOrNull(value);
25764
+ },
25765
+ enumerable: false,
25766
+ configurable: true
25767
+ });
25768
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "maxDate", {
25769
+ get: function () {
25770
+ return this._maxDate;
25771
+ },
25772
+ set: function (value) {
25773
+ this._maxDate = this._adapter.getValidDateOrNull(value);
25774
+ },
25775
+ enumerable: false,
25776
+ configurable: true
25777
+ });
25778
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_activeDate", {
25779
+ /** The current active date. This determines which time period is shown and which date is highlighted when using keyboard navigation. */
25780
+ get: function () {
25781
+ return this._clampedActiveDate;
25782
+ },
25783
+ set: function (value) {
25784
+ var oldActiveDate = this._clampedActiveDate;
25785
+ this._clampedActiveDate = this._adapter.clampDate(value, this.minDate, this.maxDate);
25786
+ if (oldActiveDate &&
25787
+ this._clampedActiveDate &&
25788
+ this.currentView === 'month' &&
25789
+ !this._adapter.sameMonthAndYear(oldActiveDate, this._clampedActiveDate)) {
25790
+ if (this._adapter.isInNextMonth(oldActiveDate, this._clampedActiveDate)) {
25791
+ this.calendarState('right');
25792
+ }
25793
+ else {
25794
+ this.calendarState('left');
25795
+ }
25796
+ }
25797
+ },
25798
+ enumerable: false,
25799
+ configurable: true
25800
+ });
25801
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "currentView", {
25802
+ get: function () {
25803
+ return this._currentView;
25804
+ },
25805
+ set: function (view) {
25806
+ this._currentView = view;
25807
+ this.viewChanged.emit(view);
25808
+ },
25809
+ enumerable: false,
25810
+ configurable: true
25811
+ });
25812
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_yearLabel", {
25813
+ /** The label for the current calendar view. */
25814
+ get: function () {
25815
+ return this._adapter.getYearName(this._activeDate);
25816
+ },
25817
+ enumerable: false,
25818
+ configurable: true
25819
+ });
25820
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_monthYearLabel", {
25821
+ get: function () {
25822
+ if (this.currentView === 'multi-year') {
25823
+ // The offset from the active year to the "slot" for the starting year is the
25824
+ // *actual* first rendered year in the multi-year view, and the last year is
25825
+ // just yearsPerPage - 1 away.
25826
+ var activeYear = this._adapter.getYear(this._activeDate);
25827
+ var minYearOfPage = activeYear - getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate);
25828
+ var maxYearOfPage = minYearOfPage + yearsPerPage$2 - 1;
25829
+ var minYearName = this._adapter.getYearName(this._adapter.createDate(minYearOfPage, 0, 1));
25830
+ var maxYearName = this._adapter.getYearName(this._adapter.createDate(maxYearOfPage, 0, 1));
25831
+ return this._intl.formatYearRange(minYearName, maxYearName);
25832
+ }
25833
+ return this.currentView === 'month'
25834
+ ? this._adapter.getMonthNames('long')[this._adapter.getMonth(this._activeDate)]
25835
+ : this._adapter.getYearName(this._activeDate);
25836
+ },
25837
+ enumerable: false,
25838
+ configurable: true
25839
+ });
25840
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_dateLabel", {
25841
+ get: function () {
25842
+ switch (this.type) {
25843
+ case 'month': return this._adapter.getMonthNames('long')[this._adapter.getMonth(this._activeDate)];
25844
+ default: return this._adapter.format(this._activeDate, this._dateFormats.display.popupHeaderDateLabel);
25845
+ }
25846
+ },
25847
+ enumerable: false,
25848
+ configurable: true
25849
+ });
25850
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "periodButtonLabel", {
25851
+ get: function () {
25852
+ return this.currentView == 'month' ? this._intl.switchToMultiYearViewLabel : this._intl.switchToMonthViewLabel;
25853
+ },
25854
+ enumerable: false,
25855
+ configurable: true
25856
+ });
25857
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "prevButtonLabel", {
25858
+ /** The label for the previous button. */
25859
+ get: function () {
25860
+ return {
25861
+ 'month': this._intl.prevMonthLabel,
25862
+ 'year': this._intl.prevYearLabel,
25863
+ 'multi-year': this._intl.prevMultiYearLabel
25864
+ }[this.currentView];
25865
+ },
25866
+ enumerable: false,
25867
+ configurable: true
25868
+ });
25869
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "nextButtonLabel", {
25870
+ /** The label for the next button. */
25871
+ get: function () {
25872
+ return {
25873
+ 'month': this._intl.nextMonthLabel,
25874
+ 'year': this._intl.nextYearLabel,
25875
+ 'multi-year': this._intl.nextMultiYearLabel
25876
+ }[this.currentView];
25877
+ },
25878
+ enumerable: false,
25879
+ configurable: true
25880
+ });
25881
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_hoursLabel", {
25882
+ get: function () {
25883
+ var hour = this._adapter.getHour(this._activeDate);
25884
+ if (!!this.twelvehour) {
25885
+ if (hour === 0) {
25886
+ hour = 24;
25887
+ }
25888
+ hour = hour > 12 ? hour - 12 : hour;
25889
+ }
25890
+ return this._2digit(hour);
25891
+ },
25892
+ enumerable: false,
25893
+ configurable: true
25894
+ });
25895
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_minutesLabel", {
25896
+ get: function () {
25897
+ return this._2digit(this._adapter.getMinute(this._activeDate));
25898
+ },
25899
+ enumerable: false,
25900
+ configurable: true
25901
+ });
25902
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_ariaLabelNext", {
25903
+ get: function () {
25904
+ switch (this._currentView) {
25905
+ case 'month': return this.ariaNextMonthLabel;
25906
+ case 'year': return this.ariaNextYearLabel;
25907
+ case 'multi-year': return this.ariaNextMultiYearLabel;
25908
+ default: return '';
25909
+ }
25910
+ },
25911
+ enumerable: false,
25912
+ configurable: true
25913
+ });
25914
+ Object.defineProperty(GIPIDatetimepickerCalendarComponent.prototype, "_ariaLabelPrev", {
25915
+ get: function () {
25916
+ switch (this._currentView) {
25917
+ case 'month': return this.ariaPrevMonthLabel;
25918
+ case 'year': return this.ariaPrevYearLabel;
25919
+ case 'multi-year': return this.ariaPrevMultiYearLabel;
25920
+ default: return '';
25921
+ }
25922
+ },
25923
+ enumerable: false,
25924
+ configurable: true
25925
+ });
25926
+ GIPIDatetimepickerCalendarComponent.prototype.ngAfterContentInit = function () {
25927
+ this._activeDate = this.startAt || this._adapter.today();
25928
+ this._selectAMPM(this._activeDate);
25929
+ this._focusActiveCell();
25930
+ if (this.type === 'year') {
25931
+ this.currentView = 'multi-year';
25932
+ }
25933
+ else if (this.type === 'month') {
25934
+ this.currentView = 'year';
25935
+ }
25936
+ else if (this.type === 'time') {
25937
+ this.currentView = 'clock';
25938
+ }
25939
+ else {
25940
+ this.currentView = this.startView || 'month';
25941
+ }
25942
+ };
25943
+ GIPIDatetimepickerCalendarComponent.prototype.ngOnDestroy = function () {
25944
+ this._intlChanges.unsubscribe();
25945
+ };
25946
+ GIPIDatetimepickerCalendarComponent.prototype._userSelected = function () {
25947
+ this._userSelection.emit();
25948
+ };
25949
+ /** Handles date selection in the month view. */
25950
+ GIPIDatetimepickerCalendarComponent.prototype._dateSelected = function (date) {
25951
+ if (this.type === 'date') {
25952
+ if (!this._adapter.sameDate(date, this.selected) ||
25953
+ !this.preventSameDateTimeSelection) {
25954
+ this.selectedChange.emit(date);
25955
+ }
25956
+ }
25957
+ else {
25958
+ this._activeDate = date;
25959
+ this.currentView = 'clock';
25960
+ }
25961
+ };
25962
+ /** Handles month selection in the year view. */
25963
+ GIPIDatetimepickerCalendarComponent.prototype._monthSelected = function (month) {
25964
+ if (this.type === 'month') {
25965
+ if (!this._adapter.sameMonthAndYear(month, this.selected) ||
25966
+ !this.preventSameDateTimeSelection) {
25967
+ this.selectedChange.emit(this._adapter.getFirstDateOfMonth(month));
25968
+ }
25969
+ }
25970
+ else {
25971
+ this._activeDate = month;
25972
+ this.currentView = 'month';
25973
+ this._clockView = 'hour';
25974
+ }
25975
+ };
25976
+ /** Handles year selection in the multi year view. */
25977
+ GIPIDatetimepickerCalendarComponent.prototype._yearSelected = function (year) {
25978
+ if (this.type === 'year') {
25979
+ if (!this._adapter.sameYear(year, this.selected) ||
25980
+ !this.preventSameDateTimeSelection) {
25981
+ var normalizedDate = this._adapter.createDatetime(this._adapter.getYear(year), 0, 1, 0, 0);
25982
+ this.selectedChange.emit(normalizedDate);
25983
+ }
25984
+ }
25985
+ else {
25986
+ this._activeDate = year;
25987
+ this.currentView = 'year';
25988
+ }
25989
+ };
25990
+ GIPIDatetimepickerCalendarComponent.prototype._timeSelected = function (date) {
25991
+ if (this._clockView !== 'minute') {
25992
+ this._activeDate = this._updateDate(date);
25993
+ this._clockView = 'minute';
25994
+ }
25995
+ else {
25996
+ if (!this._adapter.sameDatetime(date, this.selected) ||
25997
+ !this.preventSameDateTimeSelection) {
25998
+ this.selectedChange.emit(date);
25999
+ }
26000
+ }
26001
+ };
26002
+ GIPIDatetimepickerCalendarComponent.prototype._onActiveDateChange = function (date) {
26003
+ this._activeDate = date;
26004
+ };
26005
+ GIPIDatetimepickerCalendarComponent.prototype._updateDate = function (date) {
26006
+ if (!!this.twelvehour) {
26007
+ var HOUR = this._adapter.getHour(date);
26008
+ if (HOUR === 12) {
26009
+ if (this._AMPM === 'AM') {
26010
+ return this._adapter.addCalendarHours(date, -12);
26011
+ }
26012
+ }
26013
+ else if (this._AMPM === 'PM') {
26014
+ return this._adapter.addCalendarHours(date, 12);
26015
+ }
26016
+ }
26017
+ return date;
26018
+ };
26019
+ GIPIDatetimepickerCalendarComponent.prototype._selectAMPM = function (date) {
26020
+ if (this._adapter.getHour(date) > 11) {
26021
+ this._AMPM = 'PM';
26022
+ }
26023
+ else {
26024
+ this._AMPM = 'AM';
26025
+ }
26026
+ };
26027
+ GIPIDatetimepickerCalendarComponent.prototype._ampmClicked = function (source) {
26028
+ if (source === this._AMPM) {
26029
+ return;
26030
+ }
26031
+ this._AMPM = source;
26032
+ if (this._AMPM === 'AM') {
26033
+ this._activeDate = this._adapter.addCalendarHours(this._activeDate, -12);
26034
+ }
26035
+ else {
26036
+ this._activeDate = this._adapter.addCalendarHours(this._activeDate, 12);
26037
+ }
26038
+ };
26039
+ GIPIDatetimepickerCalendarComponent.prototype._yearClicked = function () {
26040
+ if (this.type === 'year' || this.multiYearSelector) {
26041
+ this.currentView = 'multi-year';
26042
+ return;
26043
+ }
26044
+ this.currentView = 'year';
26045
+ };
26046
+ GIPIDatetimepickerCalendarComponent.prototype._dateClicked = function () {
26047
+ if (this.type !== 'month') {
26048
+ this.currentView = 'month';
26049
+ }
26050
+ };
26051
+ GIPIDatetimepickerCalendarComponent.prototype._hoursClicked = function () {
26052
+ this.currentView = 'clock';
26053
+ this._clockView = 'hour';
26054
+ };
26055
+ GIPIDatetimepickerCalendarComponent.prototype._minutesClicked = function () {
26056
+ this.currentView = 'clock';
26057
+ this._clockView = 'minute';
26058
+ };
26059
+ /** Handles user clicks on the previous button. */
26060
+ GIPIDatetimepickerCalendarComponent.prototype._previousClicked = function () {
26061
+ this._activeDate = this.currentView === 'month'
26062
+ ? this._adapter.addCalendarMonths(this._activeDate, -1)
26063
+ : this._adapter.addCalendarYears(this._activeDate, this.currentView === 'year' ? -1 : -yearsPerPage$2);
26064
+ };
26065
+ /** Handles user clicks on the next button. */
26066
+ GIPIDatetimepickerCalendarComponent.prototype._nextClicked = function () {
26067
+ this._activeDate = (this.currentView === 'month')
26068
+ ? this._adapter.addCalendarMonths(this._activeDate, 1)
26069
+ : this._adapter.addCalendarYears(this._activeDate, this.currentView === 'year' ? 1 : yearsPerPage$2);
26070
+ };
26071
+ /** Whether the previous period button is enabled. */
26072
+ GIPIDatetimepickerCalendarComponent.prototype._previousEnabled = function () {
26073
+ if (!this.minDate) {
26074
+ return true;
26075
+ }
26076
+ return !this.minDate || !this._isSameView(this._activeDate, this.minDate);
26077
+ };
26078
+ /** Whether the next period button is enabled. */
26079
+ GIPIDatetimepickerCalendarComponent.prototype._nextEnabled = function () {
26080
+ return !this.maxDate || !this._isSameView(this._activeDate, this.maxDate);
26081
+ };
26082
+ /** Handles keydown events on the calendar body. */
26083
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydown = function (event) {
26084
+ // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent
26085
+ // disabled ones from being selected. This may not be ideal, we should look into whether
26086
+ // navigation should skip over disabled dates, and if so, how to implement that efficiently.
26087
+ if (this.currentView === 'month') {
26088
+ this._handleCalendarBodyKeydownInMonthView(event);
26089
+ }
26090
+ else if (this.currentView === 'year') {
26091
+ this._handleCalendarBodyKeydownInYearView(event);
26092
+ }
26093
+ else if (this.currentView === 'multi-year') {
26094
+ this._handleCalendarBodyKeydownInMultiYearView(event);
26095
+ }
26096
+ else {
26097
+ this._handleCalendarBodyKeydownInClockView(event);
26098
+ }
26099
+ };
26100
+ GIPIDatetimepickerCalendarComponent.prototype._focusActiveCell = function () {
26101
+ var _this = this;
26102
+ this._ngZone.runOutsideAngular(function () {
26103
+ _this._ngZone.onStable
26104
+ .asObservable()
26105
+ .pipe(operators.first())
26106
+ .subscribe(function () { return _this._elementRef.nativeElement.focus(); });
26107
+ });
26108
+ };
26109
+ GIPIDatetimepickerCalendarComponent.prototype._calendarStateDone = function () {
26110
+ this._calendarState = '';
26111
+ };
26112
+ /** Whether the two dates represent the same view in the current view mode (month or year). */
26113
+ GIPIDatetimepickerCalendarComponent.prototype._isSameView = function (date1, date2) {
26114
+ if (this.currentView === 'month') {
26115
+ return (this._adapter.getYear(date1) === this._adapter.getYear(date2) &&
26116
+ this._adapter.getMonth(date1) === this._adapter.getMonth(date2));
26117
+ }
26118
+ if (this.currentView === 'year') {
26119
+ return this._adapter.getYear(date1) === this._adapter.getYear(date2);
26120
+ }
26121
+ // Otherwise we are in 'multi-year' view.
26122
+ return isSameMultiYearView$1(this._adapter, date1, date2, this.minDate, this.maxDate);
26123
+ };
26124
+ /** Handles keydown events on the calendar body when calendar is in month view. */
26125
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInMonthView = function (event) {
26126
+ switch (event.keyCode) {
26127
+ case keycodes.LEFT_ARROW:
26128
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, -1);
26129
+ break;
26130
+ case keycodes.RIGHT_ARROW:
26131
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 1);
26132
+ break;
26133
+ case keycodes.UP_ARROW:
26134
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, -7);
26135
+ break;
26136
+ case keycodes.DOWN_ARROW:
26137
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 7);
26138
+ break;
26139
+ case keycodes.HOME:
26140
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, 1 - this._adapter.getDate(this._activeDate));
26141
+ break;
26142
+ case keycodes.END:
26143
+ this._activeDate = this._adapter.addCalendarDays(this._activeDate, this._adapter.getNumDaysInMonth(this._activeDate) - this._adapter.getDate(this._activeDate));
26144
+ break;
26145
+ case keycodes.PAGE_UP:
26146
+ this._activeDate = event.altKey
26147
+ ? this._adapter.addCalendarYears(this._activeDate, -1)
26148
+ : this._adapter.addCalendarMonths(this._activeDate, -1);
26149
+ break;
26150
+ case keycodes.PAGE_DOWN:
26151
+ this._activeDate = event.altKey
26152
+ ? this._adapter.addCalendarYears(this._activeDate, 1)
26153
+ : this._adapter.addCalendarMonths(this._activeDate, 1);
26154
+ break;
26155
+ case keycodes.ENTER:
26156
+ if (this._dateFilterForViews(this._activeDate)) {
26157
+ this._dateSelected(this._activeDate);
26158
+ // Prevent unexpected default actions such as form submission.
26159
+ event.preventDefault();
26160
+ }
26161
+ return;
26162
+ default:
26163
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26164
+ return;
26165
+ }
26166
+ // Prevent unexpected default actions such as form submission.
26167
+ event.preventDefault();
26168
+ };
26169
+ /** Handles keydown events on the calendar body when calendar is in year view. */
26170
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInYearView = function (event) {
26171
+ switch (event.keyCode) {
26172
+ case keycodes.LEFT_ARROW:
26173
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, -1);
26174
+ break;
26175
+ case keycodes.RIGHT_ARROW:
26176
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, 1);
26177
+ break;
26178
+ case keycodes.UP_ARROW:
26179
+ this._activeDate = this._prevMonthInSameCol(this._activeDate);
26180
+ break;
26181
+ case keycodes.DOWN_ARROW:
26182
+ this._activeDate = this._nextMonthInSameCol(this._activeDate);
26183
+ break;
26184
+ case keycodes.HOME:
26185
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, -this._adapter.getMonth(this._activeDate));
26186
+ break;
26187
+ case keycodes.END:
26188
+ this._activeDate = this._adapter.addCalendarMonths(this._activeDate, 11 - this._adapter.getMonth(this._activeDate));
26189
+ break;
26190
+ case keycodes.PAGE_UP:
26191
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? -10 : -1);
26192
+ break;
26193
+ case keycodes.PAGE_DOWN:
26194
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? 10 : 1);
26195
+ break;
26196
+ case keycodes.ENTER:
26197
+ this._monthSelected(this._activeDate);
26198
+ break;
26199
+ default:
26200
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26201
+ return;
26202
+ }
26203
+ // Prevent unexpected default actions such as form submission.
26204
+ event.preventDefault();
26205
+ };
26206
+ /** Handles keydown events on the calendar body when calendar is in multi-year view. */
26207
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInMultiYearView = function (event) {
26208
+ switch (event.keyCode) {
26209
+ case keycodes.LEFT_ARROW:
26210
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -1);
26211
+ break;
26212
+ case keycodes.RIGHT_ARROW:
26213
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, 1);
26214
+ break;
26215
+ case keycodes.UP_ARROW:
26216
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -yearsPerRow$1);
26217
+ break;
26218
+ case keycodes.DOWN_ARROW:
26219
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, yearsPerRow$1);
26220
+ break;
26221
+ case keycodes.HOME:
26222
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, -getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate));
26223
+ break;
26224
+ case keycodes.END:
26225
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, yearsPerPage$2 - getActiveOffset$1(this._adapter, this._activeDate, this.minDate, this.maxDate) - 1);
26226
+ break;
26227
+ case keycodes.PAGE_UP:
26228
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? -yearsPerPage$2 * 10 : -yearsPerPage$2);
26229
+ break;
26230
+ case keycodes.PAGE_DOWN:
26231
+ this._activeDate = this._adapter.addCalendarYears(this._activeDate, event.altKey ? yearsPerPage$2 * 10 : yearsPerPage$2);
26232
+ break;
26233
+ case keycodes.ENTER:
26234
+ this._yearSelected(this._activeDate);
26235
+ break;
26236
+ default:
26237
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26238
+ return;
26239
+ }
26240
+ };
26241
+ /** Handles keydown events on the calendar body when calendar is in month view. */
26242
+ GIPIDatetimepickerCalendarComponent.prototype._handleCalendarBodyKeydownInClockView = function (event) {
26243
+ switch (event.keyCode) {
26244
+ case keycodes.UP_ARROW:
26245
+ this._activeDate = this._clockView === 'hour'
26246
+ ? this._adapter.addCalendarHours(this._activeDate, 1)
26247
+ : this._adapter.addCalendarMinutes(this._activeDate, 1);
26248
+ break;
26249
+ case keycodes.DOWN_ARROW:
26250
+ this._activeDate = this._clockView === 'hour'
26251
+ ? this._adapter.addCalendarHours(this._activeDate, -1)
26252
+ : this._adapter.addCalendarMinutes(this._activeDate, -1);
26253
+ break;
26254
+ case keycodes.ENTER:
26255
+ this._timeSelected(this._activeDate);
26256
+ return;
26257
+ default:
26258
+ // Don't prevent default or focus active cell on keys that we don't explicitly handle.
26259
+ return;
26260
+ }
26261
+ // Prevent unexpected default actions such as form submission.
26262
+ event.preventDefault();
26263
+ };
26264
+ /**
26265
+ * Determine the date for the month that comes before the given month in the same column in the
26266
+ * calendar table.
26267
+ */
26268
+ GIPIDatetimepickerCalendarComponent.prototype._prevMonthInSameCol = function (date) {
26269
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning of each year.
26270
+ var increment = this._adapter.getMonth(date) <= 4 ? -5 : this._adapter.getMonth(date) >= 7 ? -7 : -12;
26271
+ return this._adapter.addCalendarMonths(date, increment);
26272
+ };
26273
+ /**
26274
+ * Determine the date for the month that comes after the given month in the same column in the
26275
+ * calendar table.
26276
+ */
26277
+ GIPIDatetimepickerCalendarComponent.prototype._nextMonthInSameCol = function (date) {
26278
+ // Determine how many months to jump forward given that there are 2 empty slots at the beginning of each year.
26279
+ var increment = this._adapter.getMonth(date) <= 4 ? 7 : this._adapter.getMonth(date) >= 7 ? 5 : 12;
26280
+ return this._adapter.addCalendarMonths(date, increment);
26281
+ };
26282
+ GIPIDatetimepickerCalendarComponent.prototype.calendarState = function (direction) {
26283
+ this._calendarState = direction;
26284
+ };
26285
+ GIPIDatetimepickerCalendarComponent.prototype._2digit = function (n) {
26286
+ return ('00' + n).slice(-2);
26287
+ };
26288
+ GIPIDatetimepickerCalendarComponent.ctorParameters = function () { return [
26289
+ { type: core.ElementRef },
26290
+ { type: datepicker.MatDatepickerIntl },
26291
+ { type: core.NgZone },
26292
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
26293
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [GIPI_DATETIME_FORMATS,] }] },
26294
+ { type: core.ChangeDetectorRef }
26295
+ ]; };
26296
+ __decorate([
26297
+ core.Input(),
26298
+ __metadata("design:type", Boolean)
26299
+ ], GIPIDatetimepickerCalendarComponent.prototype, "multiYearSelector", void 0);
26300
+ __decorate([
26301
+ core.Input(),
26302
+ __metadata("design:type", String)
26303
+ ], GIPIDatetimepickerCalendarComponent.prototype, "startView", void 0);
26304
+ __decorate([
26305
+ core.Input(),
26306
+ __metadata("design:type", Boolean)
26307
+ ], GIPIDatetimepickerCalendarComponent.prototype, "twelvehour", void 0);
26308
+ __decorate([
26309
+ core.Input(),
26310
+ __metadata("design:type", Number)
26311
+ ], GIPIDatetimepickerCalendarComponent.prototype, "timeInterval", void 0);
26312
+ __decorate([
26313
+ core.Input(),
26314
+ __metadata("design:type", Function)
26315
+ ], GIPIDatetimepickerCalendarComponent.prototype, "dateFilter", void 0);
26316
+ __decorate([
26317
+ core.Input(),
26318
+ __metadata("design:type", Object)
26319
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaLabel", void 0);
26320
+ __decorate([
26321
+ core.Input(),
26322
+ __metadata("design:type", Object)
26323
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextMonthLabel", void 0);
26324
+ __decorate([
26325
+ core.Input(),
26326
+ __metadata("design:type", Object)
26327
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevMonthLabel", void 0);
26328
+ __decorate([
26329
+ core.Input(),
26330
+ __metadata("design:type", Object)
26331
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextYearLabel", void 0);
26332
+ __decorate([
26333
+ core.Input(),
26334
+ __metadata("design:type", Object)
26335
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevYearLabel", void 0);
26336
+ __decorate([
26337
+ core.Input(),
26338
+ __metadata("design:type", Object)
26339
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaNextMultiYearLabel", void 0);
26340
+ __decorate([
26341
+ core.Input(),
26342
+ __metadata("design:type", Object)
26343
+ ], GIPIDatetimepickerCalendarComponent.prototype, "ariaPrevMultiYearLabel", void 0);
26344
+ __decorate([
26345
+ core.Input(),
26346
+ __metadata("design:type", Object)
26347
+ ], GIPIDatetimepickerCalendarComponent.prototype, "preventSameDateTimeSelection", void 0);
26348
+ __decorate([
26349
+ core.Input(),
26350
+ __metadata("design:type", String),
26351
+ __metadata("design:paramtypes", [String])
26352
+ ], GIPIDatetimepickerCalendarComponent.prototype, "type", null);
26353
+ __decorate([
26354
+ core.Input(),
26355
+ __metadata("design:type", Object),
26356
+ __metadata("design:paramtypes", [Object])
26357
+ ], GIPIDatetimepickerCalendarComponent.prototype, "startAt", null);
26358
+ __decorate([
26359
+ core.Input(),
26360
+ __metadata("design:type", Object),
26361
+ __metadata("design:paramtypes", [Object])
26362
+ ], GIPIDatetimepickerCalendarComponent.prototype, "selected", null);
26363
+ __decorate([
26364
+ core.Input(),
26365
+ __metadata("design:type", Object),
26366
+ __metadata("design:paramtypes", [Object])
26367
+ ], GIPIDatetimepickerCalendarComponent.prototype, "minDate", null);
26368
+ __decorate([
26369
+ core.Input(),
26370
+ __metadata("design:type", Object),
26371
+ __metadata("design:paramtypes", [Object])
26372
+ ], GIPIDatetimepickerCalendarComponent.prototype, "maxDate", null);
26373
+ __decorate([
26374
+ core.Output(),
26375
+ __metadata("design:type", core.EventEmitter)
26376
+ ], GIPIDatetimepickerCalendarComponent.prototype, "selectedChange", void 0);
26377
+ __decorate([
26378
+ core.Output(),
26379
+ __metadata("design:type", core.EventEmitter)
26380
+ ], GIPIDatetimepickerCalendarComponent.prototype, "viewChanged", void 0);
26381
+ __decorate([
26382
+ core.Output(),
26383
+ __metadata("design:type", Object)
26384
+ ], GIPIDatetimepickerCalendarComponent.prototype, "_userSelection", void 0);
26385
+ GIPIDatetimepickerCalendarComponent = __decorate([
26386
+ core.Component({
26387
+ selector: 'gipi-mat-datetime-picker-calendar',
26388
+ 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>",
26389
+ animations: [slideCalendar],
26390
+ encapsulation: core.ViewEncapsulation.None,
26391
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
26392
+ host: {
26393
+ '[class.gipi-mat-datetime-picker-calendar]': 'true',
26394
+ '[attr.aria-label]': 'ariaLabel',
26395
+ role: 'dialog',
26396
+ tabindex: '0',
26397
+ '(keydown)': '_handleCalendarBodyKeydown($event)',
26398
+ },
26399
+ 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}}"]
26400
+ }),
26401
+ __param(3, core.Optional()),
26402
+ __param(4, core.Optional()), __param(4, core.Inject(GIPI_DATETIME_FORMATS)),
26403
+ __metadata("design:paramtypes", [core.ElementRef,
26404
+ datepicker.MatDatepickerIntl,
26405
+ core.NgZone,
26406
+ GIPIDatetimeAdapter, Object, core.ChangeDetectorRef])
26407
+ ], GIPIDatetimepickerCalendarComponent);
26408
+ return GIPIDatetimepickerCalendarComponent;
26409
+ }());
26410
+
26411
+ /** Used to generate a unique ID for each datepicker instance. */
26412
+ var datetimepickerUid = 0;
26413
+ /**
26414
+ * Component used as the content for the datepicker dialog and popup. We use this instead of using
26415
+ * MatCalendar directly as the content so we can control the initial focus. This also gives us a
26416
+ * place to put additional features of the popup that are not part of the calendar itself in the
26417
+ * future. (e.g. confirmation buttons).
26418
+ * @docs-private
26419
+ */
26420
+ var GIPIDatetimepickerContentComponent = /** @class */ (function () {
26421
+ function GIPIDatetimepickerContentComponent() {
26422
+ }
26423
+ GIPIDatetimepickerContentComponent.prototype.ngAfterContentInit = function () {
26424
+ this._calendar._focusActiveCell();
26425
+ };
26426
+ GIPIDatetimepickerContentComponent.prototype.onSelectionChange = function (date) {
26427
+ this.datetimepicker._select(date);
26428
+ this.datetimepicker.close();
26429
+ };
26430
+ /**
26431
+ * Handles keydown event on datepicker content.
26432
+ * @param event The event.
26433
+ */
26434
+ GIPIDatetimepickerContentComponent.prototype._handleKeydown = function (event) {
26435
+ if (event.keyCode === keycodes.ESCAPE) {
26436
+ this.datetimepicker.close();
26437
+ event.preventDefault();
26438
+ event.stopPropagation();
26439
+ }
26440
+ };
26441
+ __decorate([
26442
+ core.ViewChild(GIPIDatetimepickerCalendarComponent, { static: true }),
26443
+ __metadata("design:type", GIPIDatetimepickerCalendarComponent)
26444
+ ], GIPIDatetimepickerContentComponent.prototype, "_calendar", void 0);
26445
+ GIPIDatetimepickerContentComponent = __decorate([
26446
+ core.Component({
26447
+ selector: 'gipi-mat-datetime-picker-content',
26448
+ 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>",
26449
+ encapsulation: core.ViewEncapsulation.None,
26450
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
26451
+ host: {
26452
+ class: 'gipi-mat-datetime-picker-content',
26453
+ '[class.gipi-mat-datetime-picker-content-touch]': 'datetimepicker?.touchUi',
26454
+ '(keydown)': '_handleKeydown($event)',
26455
+ },
26456
+ 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}"]
26457
+ })
26458
+ ], GIPIDatetimepickerContentComponent);
26459
+ return GIPIDatetimepickerContentComponent;
26460
+ }());
26461
+ var GIPIDatetimepickerComponent = /** @class */ (function () {
26462
+ function GIPIDatetimepickerComponent(_dialog, _overlay, _ngZone, _viewContainerRef, _scrollStrategy, _dateAdapter, _dir, _document) {
26463
+ this._dialog = _dialog;
26464
+ this._overlay = _overlay;
26465
+ this._ngZone = _ngZone;
26466
+ this._viewContainerRef = _viewContainerRef;
26467
+ this._scrollStrategy = _scrollStrategy;
26468
+ this._dateAdapter = _dateAdapter;
26469
+ this._dir = _dir;
26470
+ this._document = _document;
26471
+ /** Whether the calendar is open. */
26472
+ this.opened = false;
26473
+ /** The id for the datepicker calendar. */
26474
+ this.id = "gipi-mat-datetime-picker-" + datetimepickerUid++;
26475
+ /** Emits when the datepicker is disabled. */
26476
+ this._disabledChange = new rxjs.Subject();
26477
+ this._validSelected = null;
26478
+ /** The element that was focused before the datepicker was opened. */
26479
+ this._focusedElementBeforeOpen = null;
26480
+ this._inputSubscription = rxjs.Subscription.EMPTY;
26481
+ /** Active multi year view when click on year. */
26482
+ this.multiYearSelector = false;
26483
+ /** if true change the clock to 12 hour format. */
26484
+ this.twelvehour = false;
26485
+ /** The view that the calendar should start in. */
26486
+ this.startView = 'month';
26487
+ this.mode = 'auto';
26488
+ this.timeInterval = 1;
26489
+ this.ariaNextMonthLabel = 'Next month';
26490
+ this.ariaPrevMonthLabel = 'Previous month';
26491
+ this.ariaNextYearLabel = 'Next year';
26492
+ this.ariaPrevYearLabel = 'Previous year';
26493
+ /** Prevent user to select same date time */
26494
+ this.preventSameDateTimeSelection = false;
26495
+ this._type = 'date';
26496
+ /** 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. */
26497
+ this._touchUi = false;
26498
+ /** Emits when the datepicker has been opened. */
26499
+ this.openedStream = new core.EventEmitter();
26500
+ /** Emits when the datepicker has been closed. */
26501
+ this.closedStream = new core.EventEmitter();
26502
+ /** Emits when the view has been changed. **/
26503
+ this.viewChanged = new core.EventEmitter();
26504
+ /**
26505
+ * Emits new selected date when selected date changes.
26506
+ * @deprecated Switch to the `dateChange` and `dateInput` binding on the input element.
26507
+ */
26508
+ this.selectedChanged = new core.EventEmitter();
26509
+ if (!this._dateAdapter) {
26510
+ throw createMissingDateImplError$1('DateAdapter');
26511
+ }
26512
+ }
26513
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "startAt", {
26514
+ get: function () {
26515
+ // If an explicit startAt is set we start there, otherwise we start at whatever the currently selected value is.
26516
+ return (this._startAt || (this._datepickerInput ? this._datepickerInput.value : null));
26517
+ },
26518
+ set: function (date) {
26519
+ this._startAt = this._dateAdapter.getValidDateOrNull(date);
26520
+ },
26521
+ enumerable: false,
26522
+ configurable: true
26523
+ });
26524
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "openOnFocus", {
26525
+ get: function () {
26526
+ return this._openOnFocus;
26527
+ },
26528
+ set: function (value) {
26529
+ this._openOnFocus = coercion.coerceBooleanProperty(value);
26530
+ },
26531
+ enumerable: false,
26532
+ configurable: true
26533
+ });
26534
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "type", {
26535
+ get: function () {
26536
+ return this._type;
26537
+ },
26538
+ set: function (value) {
26539
+ this._type = value || 'date';
26540
+ },
26541
+ enumerable: false,
26542
+ configurable: true
26543
+ });
26544
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "touchUi", {
26545
+ get: function () {
26546
+ return this._touchUi;
26547
+ },
26548
+ set: function (value) {
26549
+ this._touchUi = coercion.coerceBooleanProperty(value);
26550
+ },
26551
+ enumerable: false,
26552
+ configurable: true
26553
+ });
26554
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "disabled", {
26555
+ get: function () {
26556
+ return this._disabled === undefined && this._datepickerInput
26557
+ ? this._datepickerInput.disabled
26558
+ : !!this._disabled;
26559
+ },
26560
+ set: function (value) {
26561
+ var newValue = coercion.coerceBooleanProperty(value);
26562
+ if (newValue !== this._disabled) {
26563
+ this._disabled = newValue;
26564
+ this._disabledChange.next(newValue);
26565
+ }
26566
+ },
26567
+ enumerable: false,
26568
+ configurable: true
26569
+ });
26570
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_selected", {
26571
+ /** The currently selected date. */
26572
+ get: function () {
26573
+ return this._validSelected;
26574
+ },
26575
+ set: function (value) {
26576
+ this._validSelected = value;
26577
+ },
26578
+ enumerable: false,
26579
+ configurable: true
26580
+ });
26581
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_minDate", {
26582
+ /** The minimum selectable date. */
26583
+ get: function () {
26584
+ return this._datepickerInput && this._datepickerInput.min;
26585
+ },
26586
+ enumerable: false,
26587
+ configurable: true
26588
+ });
26589
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_maxDate", {
26590
+ /** The maximum selectable date. */
26591
+ get: function () {
26592
+ return this._datepickerInput && this._datepickerInput.max;
26593
+ },
26594
+ enumerable: false,
26595
+ configurable: true
26596
+ });
26597
+ Object.defineProperty(GIPIDatetimepickerComponent.prototype, "_dateFilter", {
26598
+ get: function () {
26599
+ return this._datepickerInput && this._datepickerInput._dateFilter;
26600
+ },
26601
+ enumerable: false,
26602
+ configurable: true
26603
+ });
26604
+ GIPIDatetimepickerComponent.prototype._handleFocus = function () {
26605
+ if (!this.opened && this.openOnFocus) {
26606
+ this.open();
26607
+ }
26608
+ };
26609
+ GIPIDatetimepickerComponent.prototype._viewChanged = function (type) {
26610
+ this.viewChanged.emit(type);
26611
+ };
26612
+ GIPIDatetimepickerComponent.prototype.ngOnDestroy = function () {
26613
+ this.close();
26614
+ this._inputSubscription.unsubscribe();
26615
+ this._disabledChange.complete();
26616
+ if (this._popupRef) {
26617
+ this._popupRef.dispose();
26618
+ }
26619
+ };
26620
+ /** Selects the given date */
26621
+ GIPIDatetimepickerComponent.prototype._select = function (date) {
26622
+ var oldValue = this._selected;
26623
+ this._selected = date;
26624
+ if (!this._dateAdapter.sameDatetime(oldValue, this._selected)) {
26625
+ this.selectedChanged.emit(date);
26626
+ }
26627
+ };
26628
+ /**
26629
+ * Register an input with this datepicker.
26630
+ * @param input The datepicker input to register with this datepicker.
26631
+ */
26632
+ GIPIDatetimepickerComponent.prototype._registerInput = function (input) {
26633
+ var _this = this;
26634
+ if (this._datepickerInput) {
26635
+ throw Error('A MatDatepicker can only be associated with a single input.');
26636
+ }
26637
+ this._datepickerInput = input;
26638
+ this._inputSubscription = this._datepickerInput._valueChange.subscribe(function (value) { return (_this._selected = value); });
26639
+ };
26640
+ /** Open the calendar. */
26641
+ GIPIDatetimepickerComponent.prototype.open = function () {
26642
+ if (this.opened || this.disabled) {
26643
+ return;
26644
+ }
26645
+ if (!this._datepickerInput) {
26646
+ throw Error('Attempted to open an MatDatepicker with no associated input.');
26647
+ }
26648
+ if (this._document) {
26649
+ this._focusedElementBeforeOpen = this._document.activeElement;
26650
+ }
26651
+ this.touchUi ? this._openAsDialog() : this._openAsPopup();
26652
+ this.opened = true;
26653
+ this.openedStream.emit();
26654
+ };
26655
+ /** Close the calendar. */
26656
+ GIPIDatetimepickerComponent.prototype.close = function () {
26657
+ var _this = this;
26658
+ if (!this.opened) {
26659
+ return;
26660
+ }
26661
+ if (this._popupRef && this._popupRef.hasAttached()) {
26662
+ this._popupRef.detach();
26663
+ }
26664
+ if (this._dialogRef) {
26665
+ this._dialogRef.close();
26666
+ this._dialogRef = null;
26667
+ }
26668
+ if (this._calendarPortal && this._calendarPortal.isAttached) {
26669
+ this._calendarPortal.detach();
26670
+ }
26671
+ var completeClose = function () {
26672
+ // The `_opened` could've been reset already if
26673
+ // we got two events in quick succession.
26674
+ if (_this.opened) {
26675
+ _this.opened = false;
26676
+ _this.closedStream.emit();
26677
+ _this._focusedElementBeforeOpen = null;
26678
+ }
26679
+ };
26680
+ if (this._focusedElementBeforeOpen && typeof this._focusedElementBeforeOpen.focus === 'function') {
26681
+ // Because IE moves focus asynchronously, we can't count on it being restored before we've
26682
+ // marked the datepicker as closed. If the event fires out of sequence and the element that
26683
+ // we're refocusing opens the datepicker on focus, the user could be stuck with not being
26684
+ // able to close the calendar at all. We work around it by making the logic, that marks
26685
+ // the datepicker as closed, async as well.
26686
+ this._focusedElementBeforeOpen.focus();
26687
+ setTimeout(completeClose);
26688
+ }
26689
+ else {
26690
+ completeClose();
26691
+ }
26692
+ };
26693
+ /** Open the calendar as a dialog. */
26694
+ GIPIDatetimepickerComponent.prototype._openAsDialog = function () {
26695
+ var _this = this;
26696
+ this._dialogRef = this._dialog.open(GIPIDatetimepickerContentComponent, {
26697
+ direction: this._dir ? this._dir.value : 'ltr',
26698
+ viewContainerRef: this._viewContainerRef,
26699
+ panelClass: 'gipi-mat-datetime-picker-dialog',
26700
+ });
26701
+ this._dialogRef.afterClosed().subscribe(function () { return _this.close(); });
26702
+ this._dialogRef.componentInstance.datetimepicker = this;
26703
+ };
26704
+ /** Open the calendar as a popup. */
26705
+ GIPIDatetimepickerComponent.prototype._openAsPopup = function () {
26706
+ var _this = this;
26707
+ if (!this._calendarPortal) {
26708
+ this._calendarPortal = new portal.ComponentPortal(GIPIDatetimepickerContentComponent, this._viewContainerRef);
26709
+ }
26710
+ if (!this._popupRef) {
26711
+ this._createPopup();
26712
+ }
26713
+ if (!this._popupRef.hasAttached()) {
26714
+ var componentRef = this._popupRef.attach(this._calendarPortal);
26715
+ componentRef.instance.datetimepicker = this;
26716
+ // Update the position once the calendar has rendered.
26717
+ this._ngZone.onStable
26718
+ .asObservable()
26719
+ .pipe(operators.first())
26720
+ .subscribe(function () { return _this._popupRef.updatePosition(); });
26721
+ }
26722
+ this._popupRef.backdropClick().subscribe(function () { return _this.close(); });
26723
+ };
26724
+ /** Create the popup. */
26725
+ GIPIDatetimepickerComponent.prototype._createPopup = function () {
26726
+ var overlayConfig = new overlay.OverlayConfig({
26727
+ positionStrategy: this._createPopupPositionStrategy(),
26728
+ hasBackdrop: true,
26729
+ backdropClass: 'mat-overlay-transparent-backdrop',
26730
+ direction: this._dir ? this._dir.value : 'ltr',
26731
+ scrollStrategy: this._scrollStrategy(),
26732
+ panelClass: 'gipi-mat-datetime-picker-popup',
26733
+ });
26734
+ this._popupRef = this._overlay.create(overlayConfig);
26735
+ };
26736
+ /** Create the popup PositionStrategy. */
26737
+ GIPIDatetimepickerComponent.prototype._createPopupPositionStrategy = function () {
26738
+ return this._overlay
26739
+ .position()
26740
+ .flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin())
26741
+ .withTransformOriginOn('.gipi-mat-datetime-picker-content')
26742
+ .withFlexibleDimensions(false)
26743
+ .withViewportMargin(8)
26744
+ .withLockedPosition()
26745
+ .withPositions([
26746
+ {
26747
+ originX: 'start',
26748
+ originY: 'bottom',
26749
+ overlayX: 'start',
26750
+ overlayY: 'top',
26751
+ },
26752
+ {
26753
+ originX: 'start',
26754
+ originY: 'top',
26755
+ overlayX: 'start',
26756
+ overlayY: 'bottom',
26757
+ },
26758
+ {
26759
+ originX: 'end',
26760
+ originY: 'bottom',
26761
+ overlayX: 'end',
26762
+ overlayY: 'top',
26763
+ },
26764
+ {
26765
+ originX: 'end',
26766
+ originY: 'top',
26767
+ overlayX: 'end',
26768
+ overlayY: 'bottom',
26769
+ },
26770
+ ]);
26771
+ };
26772
+ GIPIDatetimepickerComponent.ctorParameters = function () { return [
26773
+ { type: dialog.MatDialog },
26774
+ { type: overlay.Overlay },
26775
+ { type: core.NgZone },
26776
+ { type: core.ViewContainerRef },
26777
+ { type: undefined, decorators: [{ type: core.Inject, args: [datepicker.MAT_DATEPICKER_SCROLL_STRATEGY,] }] },
26778
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
26779
+ { type: bidi.Directionality, decorators: [{ type: core.Optional }] },
26780
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [common.DOCUMENT,] }] }
26781
+ ]; };
26782
+ __decorate([
26783
+ core.Input(),
26784
+ __metadata("design:type", Boolean)
26785
+ ], GIPIDatetimepickerComponent.prototype, "multiYearSelector", void 0);
26786
+ __decorate([
26787
+ core.Input(),
26788
+ __metadata("design:type", Boolean)
26789
+ ], GIPIDatetimepickerComponent.prototype, "twelvehour", void 0);
26790
+ __decorate([
26791
+ core.Input(),
26792
+ __metadata("design:type", String)
26793
+ ], GIPIDatetimepickerComponent.prototype, "startView", void 0);
26794
+ __decorate([
26795
+ core.Input(),
26796
+ __metadata("design:type", String)
26797
+ ], GIPIDatetimepickerComponent.prototype, "mode", void 0);
26798
+ __decorate([
26799
+ core.Input(),
26800
+ __metadata("design:type", Number)
26801
+ ], GIPIDatetimepickerComponent.prototype, "timeInterval", void 0);
26802
+ __decorate([
26803
+ core.Input(),
26804
+ __metadata("design:type", Object)
26805
+ ], GIPIDatetimepickerComponent.prototype, "ariaNextMonthLabel", void 0);
26806
+ __decorate([
26807
+ core.Input(),
26808
+ __metadata("design:type", Object)
26809
+ ], GIPIDatetimepickerComponent.prototype, "ariaPrevMonthLabel", void 0);
26810
+ __decorate([
26811
+ core.Input(),
26812
+ __metadata("design:type", Object)
26813
+ ], GIPIDatetimepickerComponent.prototype, "ariaNextYearLabel", void 0);
26814
+ __decorate([
26815
+ core.Input(),
26816
+ __metadata("design:type", Object)
26817
+ ], GIPIDatetimepickerComponent.prototype, "ariaPrevYearLabel", void 0);
26818
+ __decorate([
26819
+ core.Input(),
26820
+ __metadata("design:type", Object)
26821
+ ], GIPIDatetimepickerComponent.prototype, "preventSameDateTimeSelection", void 0);
26822
+ __decorate([
26823
+ core.Input(),
26824
+ __metadata("design:type", Object)
26825
+ ], GIPIDatetimepickerComponent.prototype, "panelClass", void 0);
26826
+ __decorate([
26827
+ core.Input(),
26828
+ __metadata("design:type", Object),
26829
+ __metadata("design:paramtypes", [Object])
26830
+ ], GIPIDatetimepickerComponent.prototype, "startAt", null);
26831
+ __decorate([
26832
+ core.Input(),
26833
+ __metadata("design:type", Boolean),
26834
+ __metadata("design:paramtypes", [Boolean])
26835
+ ], GIPIDatetimepickerComponent.prototype, "openOnFocus", null);
26836
+ __decorate([
26837
+ core.Input(),
26838
+ __metadata("design:type", String),
26839
+ __metadata("design:paramtypes", [String])
26840
+ ], GIPIDatetimepickerComponent.prototype, "type", null);
26841
+ __decorate([
26842
+ core.Input(),
26843
+ __metadata("design:type", Boolean),
26844
+ __metadata("design:paramtypes", [Boolean])
26845
+ ], GIPIDatetimepickerComponent.prototype, "touchUi", null);
26846
+ __decorate([
26847
+ core.Input(),
26848
+ __metadata("design:type", Boolean),
26849
+ __metadata("design:paramtypes", [Boolean])
26850
+ ], GIPIDatetimepickerComponent.prototype, "disabled", null);
26851
+ __decorate([
26852
+ core.Output('opened'),
26853
+ __metadata("design:type", core.EventEmitter)
26854
+ ], GIPIDatetimepickerComponent.prototype, "openedStream", void 0);
26855
+ __decorate([
26856
+ core.Output('closed'),
26857
+ __metadata("design:type", core.EventEmitter)
26858
+ ], GIPIDatetimepickerComponent.prototype, "closedStream", void 0);
26859
+ __decorate([
26860
+ core.Output(),
26861
+ __metadata("design:type", core.EventEmitter)
26862
+ ], GIPIDatetimepickerComponent.prototype, "viewChanged", void 0);
26863
+ __decorate([
26864
+ core.Output(),
26865
+ __metadata("design:type", Object)
26866
+ ], GIPIDatetimepickerComponent.prototype, "selectedChanged", void 0);
26867
+ GIPIDatetimepickerComponent = __decorate([
26868
+ core.Component({
26869
+ selector: 'gipi-mat-datetime-picker',
26870
+ exportAs: 'gipiDatetimePicker',
26871
+ template: '',
26872
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
26873
+ encapsulation: core.ViewEncapsulation.None,
26874
+ preserveWhitespaces: false
26875
+ }),
26876
+ __param(4, core.Inject(datepicker.MAT_DATEPICKER_SCROLL_STRATEGY)),
26877
+ __param(5, core.Optional()),
26878
+ __param(6, core.Optional()),
26879
+ __param(7, core.Optional()), __param(7, core.Inject(common.DOCUMENT)),
26880
+ __metadata("design:paramtypes", [dialog.MatDialog,
26881
+ overlay.Overlay,
26882
+ core.NgZone,
26883
+ core.ViewContainerRef, Object, GIPIDatetimeAdapter,
26884
+ bidi.Directionality, Object])
26885
+ ], GIPIDatetimepickerComponent);
26886
+ return GIPIDatetimepickerComponent;
26887
+ }());
26888
+
26889
+ var GIPIDatetimepickerToggleComponent = /** @class */ (function () {
26890
+ function GIPIDatetimepickerToggleComponent(_intl, _changeDetectorRef) {
26891
+ this._intl = _intl;
26892
+ this._changeDetectorRef = _changeDetectorRef;
26893
+ this._stateChanges = rxjs.Subscription.EMPTY;
26894
+ }
26895
+ Object.defineProperty(GIPIDatetimepickerToggleComponent.prototype, "disabled", {
26896
+ /** Whether the toggle button is disabled. */
26897
+ get: function () {
26898
+ return this._disabled === undefined
26899
+ ? this.datetimepicker.disabled
26900
+ : !!this._disabled;
26901
+ },
26902
+ set: function (value) {
26903
+ this._disabled = coercion.coerceBooleanProperty(value);
26904
+ },
26905
+ enumerable: false,
26906
+ configurable: true
26907
+ });
26908
+ GIPIDatetimepickerToggleComponent.prototype.ngOnChanges = function (changes) {
26909
+ if (changes.datepicker) {
26910
+ this._watchStateChanges();
26911
+ }
26912
+ };
26913
+ GIPIDatetimepickerToggleComponent.prototype.ngOnDestroy = function () {
26914
+ this._stateChanges.unsubscribe();
26915
+ };
26916
+ GIPIDatetimepickerToggleComponent.prototype.ngAfterContentInit = function () {
26917
+ this._watchStateChanges();
26918
+ };
26919
+ GIPIDatetimepickerToggleComponent.prototype._open = function (event) {
26920
+ if (this.datetimepicker && !this.disabled) {
26921
+ this.datetimepicker.open();
26922
+ event.stopPropagation();
26923
+ }
26924
+ };
26925
+ GIPIDatetimepickerToggleComponent.prototype._watchStateChanges = function () {
26926
+ var _this = this;
26927
+ var datepickerDisabled = this.datetimepicker
26928
+ ? this.datetimepicker._disabledChange
26929
+ : rxjs.of([], rxjs.asyncScheduler);
26930
+ var inputDisabled = this.datetimepicker && this.datetimepicker._datepickerInput
26931
+ ? this.datetimepicker._datepickerInput._disabledChange
26932
+ : rxjs.of([], rxjs.asyncScheduler);
26933
+ this._stateChanges.unsubscribe();
26934
+ this._stateChanges = rxjs.merge(this._intl.changes, datepickerDisabled, inputDisabled).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
26935
+ };
26936
+ GIPIDatetimepickerToggleComponent.ctorParameters = function () { return [
26937
+ { type: datepicker.MatDatepickerIntl },
26938
+ { type: core.ChangeDetectorRef }
26939
+ ]; };
26940
+ __decorate([
26941
+ core.Input('for'),
26942
+ __metadata("design:type", GIPIDatetimepickerComponent)
26943
+ ], GIPIDatetimepickerToggleComponent.prototype, "datetimepicker", void 0);
26944
+ __decorate([
26945
+ core.Input(),
26946
+ __metadata("design:type", Boolean),
26947
+ __metadata("design:paramtypes", [Boolean])
26948
+ ], GIPIDatetimepickerToggleComponent.prototype, "disabled", null);
26949
+ GIPIDatetimepickerToggleComponent = __decorate([
26950
+ core.Component({
26951
+ selector: 'gipi-mat-datetime-picker-toggle',
26952
+ exportAs: 'gipiDatetimePickerToggle',
26953
+ 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>",
26954
+ encapsulation: core.ViewEncapsulation.None,
26955
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
26956
+ preserveWhitespaces: false,
26957
+ host: {
26958
+ class: 'gipi-mat-datetime-picker-toggle',
26959
+ // Bind the `click` on the host, rather than the inner `button`, so that we can call `stopPropagation`
26960
+ // on it without affecting the user's `click` handlers. We need to stop it so that the input doesn't
26961
+ // get focused automatically by the form field (See https://github.com/angular/components/pull/21856).
26962
+ '(click)': '_open($event)',
26963
+ }
26964
+ }),
26965
+ __metadata("design:paramtypes", [datepicker.MatDatepickerIntl,
26966
+ core.ChangeDetectorRef])
26967
+ ], GIPIDatetimepickerToggleComponent);
26968
+ return GIPIDatetimepickerToggleComponent;
26969
+ }());
26970
+
26971
+ var nextUniqueId$q = 0;
26972
+ var GIPIDateAndTimePickerComponent = /** @class */ (function () {
26973
+ function GIPIDateAndTimePickerComponent(elementRef, _changeDetectorRef) {
26974
+ this.elementRef = elementRef;
26975
+ this._changeDetectorRef = _changeDetectorRef;
26976
+ this._name = "gipi-mat-datetime-picker-" + nextUniqueId$q++;
26977
+ this.id = this._name;
26978
+ this.name = this._name;
26979
+ this.label = '';
26980
+ this.placeholder = '';
26981
+ this.timeInterval = 1;
26982
+ this.help = '';
26983
+ this._required = false;
26984
+ this._disabled = false;
26985
+ this._type = 'datetime';
26986
+ this.onChange = function () { };
26987
+ this.onTouched = function () { };
26988
+ }
26989
+ GIPIDateAndTimePickerComponent_1 = GIPIDateAndTimePickerComponent;
26990
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "required", {
26991
+ get: function () {
26992
+ return this._required;
26993
+ },
26994
+ set: function (value) {
26995
+ this._required = coercion.coerceBooleanProperty(value);
26996
+ },
26997
+ enumerable: false,
26998
+ configurable: true
26999
+ });
27000
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "disabled", {
27001
+ get: function () {
27002
+ return this._disabled;
27003
+ },
27004
+ set: function (value) {
27005
+ this._disabled = coercion.coerceBooleanProperty(value);
27006
+ },
27007
+ enumerable: false,
27008
+ configurable: true
27009
+ });
27010
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "value", {
27011
+ get: function () {
27012
+ return this._value;
27013
+ },
27014
+ set: function (value) {
27015
+ if (value instanceof Date) {
27016
+ this._value = value;
27017
+ }
27018
+ else {
27019
+ this._value = new Date(value);
27020
+ }
27021
+ this.onChange(this._value);
27022
+ this.onTouched(this._value);
27023
+ },
27024
+ enumerable: false,
27025
+ configurable: true
27026
+ });
27027
+ Object.defineProperty(GIPIDateAndTimePickerComponent.prototype, "type", {
27028
+ get: function () {
27029
+ return this._type;
27030
+ },
27031
+ set: function (value) {
27032
+ this._type = value || 'datetime';
27033
+ },
27034
+ enumerable: false,
27035
+ configurable: true
27036
+ });
27037
+ GIPIDateAndTimePickerComponent.prototype.ngOnInit = function () { };
27038
+ GIPIDateAndTimePickerComponent.prototype.writeValue = function (value) {
27039
+ this._value = value;
27040
+ };
27041
+ GIPIDateAndTimePickerComponent.prototype.registerOnChange = function (fn) {
27042
+ this.onChange = fn;
27043
+ };
27044
+ GIPIDateAndTimePickerComponent.prototype.registerOnTouched = function (fn) {
27045
+ this.onTouched = fn;
27046
+ };
27047
+ GIPIDateAndTimePickerComponent.prototype.setDisabledState = function (isDisabled) {
27048
+ this.disabled = isDisabled;
27049
+ this._changeDetectorRef.markForCheck();
27050
+ };
27051
+ GIPIDateAndTimePickerComponent.prototype.toggleDatetimePicker = function (event) {
27052
+ if (!ObjectUtil.isNull(this.GIPIDatetimepickerToggleRef)) {
27053
+ this.GIPIDatetimepickerToggleRef._open(event);
27054
+ }
27055
+ };
27056
+ var GIPIDateAndTimePickerComponent_1;
27057
+ GIPIDateAndTimePickerComponent.ctorParameters = function () { return [
27058
+ { type: core.ElementRef },
27059
+ { type: core.ChangeDetectorRef }
27060
+ ]; };
27061
+ __decorate([
27062
+ core.ViewChild('dateTimePickerToggle', { static: true }),
27063
+ __metadata("design:type", GIPIDatetimepickerToggleComponent)
27064
+ ], GIPIDateAndTimePickerComponent.prototype, "GIPIDatetimepickerToggleRef", void 0);
27065
+ __decorate([
27066
+ core.Input(),
27067
+ __metadata("design:type", String)
27068
+ ], GIPIDateAndTimePickerComponent.prototype, "id", void 0);
27069
+ __decorate([
27070
+ core.Input(),
27071
+ __metadata("design:type", String)
27072
+ ], GIPIDateAndTimePickerComponent.prototype, "name", void 0);
27073
+ __decorate([
27074
+ core.Input(),
27075
+ __metadata("design:type", String)
27076
+ ], GIPIDateAndTimePickerComponent.prototype, "label", void 0);
27077
+ __decorate([
27078
+ core.Input(),
27079
+ __metadata("design:type", String)
27080
+ ], GIPIDateAndTimePickerComponent.prototype, "placeholder", void 0);
27081
+ __decorate([
27082
+ core.Input('min'),
27083
+ __metadata("design:type", Date)
27084
+ ], GIPIDateAndTimePickerComponent.prototype, "minDate", void 0);
27085
+ __decorate([
27086
+ core.Input('max'),
27087
+ __metadata("design:type", Date)
27088
+ ], GIPIDateAndTimePickerComponent.prototype, "maxDate", void 0);
27089
+ __decorate([
27090
+ core.Input(),
27091
+ __metadata("design:type", Number)
27092
+ ], GIPIDateAndTimePickerComponent.prototype, "timeInterval", void 0);
27093
+ __decorate([
27094
+ core.Input(),
27095
+ __metadata("design:type", String)
27096
+ ], GIPIDateAndTimePickerComponent.prototype, "help", void 0);
27097
+ __decorate([
27098
+ core.Input(),
27099
+ __metadata("design:type", Boolean),
27100
+ __metadata("design:paramtypes", [Boolean])
27101
+ ], GIPIDateAndTimePickerComponent.prototype, "required", null);
27102
+ __decorate([
27103
+ core.Input(),
27104
+ __metadata("design:type", Boolean),
27105
+ __metadata("design:paramtypes", [Boolean])
27106
+ ], GIPIDateAndTimePickerComponent.prototype, "disabled", null);
27107
+ __decorate([
27108
+ core.Input(),
27109
+ __metadata("design:type", Object),
27110
+ __metadata("design:paramtypes", [Object])
27111
+ ], GIPIDateAndTimePickerComponent.prototype, "value", null);
27112
+ __decorate([
27113
+ core.Input(),
27114
+ __metadata("design:type", String),
27115
+ __metadata("design:paramtypes", [String])
27116
+ ], GIPIDateAndTimePickerComponent.prototype, "type", null);
27117
+ GIPIDateAndTimePickerComponent = GIPIDateAndTimePickerComponent_1 = __decorate([
27118
+ core.Component({
27119
+ selector: 'gipi-datetime-picker',
27120
+ exportAs: 'gipiDatetimePicker',
27121
+ 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>",
27122
+ providers: [
27123
+ {
27124
+ provide: forms.NG_VALUE_ACCESSOR,
27125
+ useExisting: core.forwardRef(function () { return GIPIDateAndTimePickerComponent_1; }),
27126
+ multi: true
27127
+ },
27128
+ ],
27129
+ host: {
27130
+ 'class': 'gipi-mat-datetime-picker',
27131
+ },
27132
+ 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}"]
27133
+ }),
27134
+ __metadata("design:paramtypes", [core.ElementRef,
27135
+ core.ChangeDetectorRef])
27136
+ ], GIPIDateAndTimePickerComponent);
27137
+ return GIPIDateAndTimePickerComponent;
27138
+ }());
27139
+
27140
+ var CLOCK_RADIUS = 50;
27141
+ var CLOCK_INNER_RADIUS = 27.5;
27142
+ var CLOCK_OUTER_RADIUS = 41.25;
27143
+ var CLOCK_TICK_RADIUS = 7.0833;
27144
+ /**
27145
+ * A clock that is used as part of the datepicker.
27146
+ * @docs-private
27147
+ */
27148
+ var GIPIDatetimepickerClockComponent = /** @class */ (function () {
27149
+ function GIPIDatetimepickerClockComponent(_element, _adapter) {
27150
+ var _this = this;
27151
+ this._element = _element;
27152
+ this._adapter = _adapter;
27153
+ /** Hours and Minutes representing the clock view. */
27154
+ this._hours = [];
27155
+ this._minutes = [];
27156
+ /** Whether the clock is in hour view. */
27157
+ this._hourView = true;
27158
+ this._timeChanged = false;
27159
+ this.interval = 1;
27160
+ this.twelvehour = false;
27161
+ /** Emits when the currently selected date changes. */
27162
+ this.selectedChange = new core.EventEmitter();
27163
+ this.activeDateChange = new core.EventEmitter();
27164
+ this._userSelection = new core.EventEmitter();
27165
+ this.mouseMoveListener = function (event) { return _this._handleMousemove(event); };
27166
+ this.mouseUpListener = function () { return _this._handleMouseup(); };
27167
+ }
27168
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "activeDate", {
27169
+ get: function () {
27170
+ return this._activeDate;
27171
+ },
27172
+ set: function (value) {
27173
+ var oldActiveDate = this._activeDate;
27174
+ this._activeDate = this._adapter.clampDate(value, this.minDate, this.maxDate);
27175
+ if (!this._adapter.sameMinute(oldActiveDate, this._activeDate)) {
27176
+ this._init();
27177
+ }
27178
+ },
27179
+ enumerable: false,
27180
+ configurable: true
27181
+ });
27182
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "selected", {
27183
+ get: function () {
27184
+ return this._selected;
27185
+ },
27186
+ set: function (value) {
27187
+ this._selected = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27188
+ if (this._selected) {
27189
+ this.activeDate = this._selected;
27190
+ }
27191
+ },
27192
+ enumerable: false,
27193
+ configurable: true
27194
+ });
27195
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "minDate", {
27196
+ get: function () {
27197
+ return this._minDate;
27198
+ },
27199
+ set: function (value) {
27200
+ this._minDate = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27201
+ },
27202
+ enumerable: false,
27203
+ configurable: true
27204
+ });
27205
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "maxDate", {
27206
+ get: function () {
27207
+ return this._maxDate;
27208
+ },
27209
+ set: function (value) {
27210
+ this._maxDate = this._adapter.getValidDateOrNull(this._adapter.deserialize(value));
27211
+ },
27212
+ enumerable: false,
27213
+ configurable: true
27214
+ });
27215
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "startView", {
27216
+ /** Whether the clock should be started in hour or minute view. */
27217
+ set: function (value) {
27218
+ this._hourView = value != 'minute';
27219
+ },
27220
+ enumerable: false,
27221
+ configurable: true
27222
+ });
27223
+ Object.defineProperty(GIPIDatetimepickerClockComponent.prototype, "_hand", {
27224
+ get: function () {
27225
+ var hour = this._adapter.getHour(this.activeDate);
27226
+ if (!!this.twelvehour) {
27227
+ if (hour === 0) {
27228
+ hour = 24;
27229
+ }
27230
+ this._selectedHour = hour > 12 ? hour - 12 : hour;
27231
+ }
27232
+ else {
27233
+ this._selectedHour = hour;
27234
+ }
27235
+ this._selectedMinute = this._adapter.getMinute(this.activeDate);
27236
+ var deg = 0;
27237
+ var radius = CLOCK_OUTER_RADIUS;
27238
+ if (this._hourView) {
27239
+ var outer = this._selectedHour > 0 && this._selectedHour < 13;
27240
+ radius = outer ? CLOCK_OUTER_RADIUS : CLOCK_INNER_RADIUS;
27241
+ if (this.twelvehour) {
27242
+ radius = CLOCK_OUTER_RADIUS;
27243
+ }
27244
+ deg = Math.round(this._selectedHour * (360 / (24 / 2)));
27245
+ }
27246
+ else {
27247
+ deg = Math.round(this._selectedMinute * (360 / 60));
27248
+ }
27249
+ return {
27250
+ transform: "rotate(" + deg + "deg)",
27251
+ height: radius + "%",
27252
+ 'margin-top': 50 - radius + "%",
27253
+ };
27254
+ },
27255
+ enumerable: false,
27256
+ configurable: true
27257
+ });
27258
+ GIPIDatetimepickerClockComponent.prototype.ngAfterContentInit = function () {
27259
+ this.activeDate = this._activeDate || this._adapter.today();
27260
+ this._init();
27261
+ };
27262
+ /** Handles mousedown events on the clock body. */
27263
+ GIPIDatetimepickerClockComponent.prototype._handleMousedown = function (event) {
27264
+ this._timeChanged = false;
27265
+ this.setTime(event);
27266
+ document.addEventListener('mousemove', this.mouseMoveListener);
27267
+ document.addEventListener('touchmove', this.mouseMoveListener);
27268
+ document.addEventListener('mouseup', this.mouseUpListener);
27269
+ document.addEventListener('touchend', this.mouseUpListener);
27270
+ };
27271
+ GIPIDatetimepickerClockComponent.prototype._handleMousemove = function (event) {
27272
+ event.preventDefault();
27273
+ this.setTime(event);
27274
+ };
27275
+ GIPIDatetimepickerClockComponent.prototype._handleMouseup = function () {
27276
+ document.removeEventListener('mousemove', this.mouseMoveListener);
27277
+ document.removeEventListener('touchmove', this.mouseMoveListener);
27278
+ document.removeEventListener('mouseup', this.mouseUpListener);
27279
+ document.removeEventListener('touchend', this.mouseUpListener);
27280
+ if (this._timeChanged) {
27281
+ this.selectedChange.emit(this.activeDate);
27282
+ if (!this._hourView) {
27283
+ this._userSelection.emit();
27284
+ }
27285
+ }
27286
+ };
27287
+ /** Initializes this clock view. */
27288
+ GIPIDatetimepickerClockComponent.prototype._init = function () {
27289
+ this._hours.length = 0;
27290
+ this._minutes.length = 0;
27291
+ var hourNames = this._adapter.getHourNames();
27292
+ var minuteNames = this._adapter.getMinuteNames();
27293
+ if (this.twelvehour) {
27294
+ for (var i = 1; i < hourNames.length / 2 + 1; i++) {
27295
+ var radian = (i / 6) * Math.PI;
27296
+ var radius = CLOCK_OUTER_RADIUS;
27297
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), i + 1, 0);
27298
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate) >= 0) &&
27299
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate) <= 0);
27300
+ this._hours.push({
27301
+ value: i,
27302
+ displayValue: i === 0 ? '00' : hourNames[i],
27303
+ enabled: enabled,
27304
+ top: CLOCK_RADIUS - Math.cos(radian) * radius - CLOCK_TICK_RADIUS,
27305
+ left: CLOCK_RADIUS + Math.sin(radian) * radius - CLOCK_TICK_RADIUS,
27306
+ });
27307
+ }
27308
+ }
27309
+ else {
27310
+ for (var i = 0; i < hourNames.length; i++) {
27311
+ var radian = (i / 6) * Math.PI;
27312
+ var outer = i > 0 && i < 13, radius = outer ? CLOCK_OUTER_RADIUS : CLOCK_INNER_RADIUS;
27313
+ var date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), this._adapter.getDate(this.activeDate), i, 0);
27314
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate, false) >= 0) &&
27315
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate, false) <= 0) &&
27316
+ (!this.dateFilter || this.dateFilter(date, exports.GIPIDatetimepickerFilterType.HOUR));
27317
+ this._hours.push({
27318
+ value: i,
27319
+ displayValue: i === 0 ? '00' : hourNames[i],
27320
+ enabled: enabled,
27321
+ top: CLOCK_RADIUS - Math.cos(radian) * radius - CLOCK_TICK_RADIUS,
27322
+ left: CLOCK_RADIUS + Math.sin(radian) * radius - CLOCK_TICK_RADIUS,
27323
+ fontSize: i > 0 && i < 13 ? '' : '80%',
27324
+ });
27325
+ }
27326
+ }
27327
+ for (var i = 0; i < minuteNames.length; i += 5) {
27328
+ var radian = (i / 30) * Math.PI;
27329
+ 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);
27330
+ var enabled = (!this.minDate || this._adapter.compareDatetime(date, this.minDate) >= 0) &&
27331
+ (!this.maxDate || this._adapter.compareDatetime(date, this.maxDate) <= 0) &&
27332
+ (!this.dateFilter || this.dateFilter(date, exports.GIPIDatetimepickerFilterType.MINUTE));
27333
+ this._minutes.push({
27334
+ value: i,
27335
+ displayValue: i === 0 ? '00' : minuteNames[i],
27336
+ enabled: enabled,
27337
+ top: CLOCK_RADIUS - Math.cos(radian) * CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS,
27338
+ left: CLOCK_RADIUS + Math.sin(radian) * CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS,
27339
+ });
27340
+ }
27341
+ };
27342
+ /**
27343
+ * Set Time
27344
+ * @param event
27345
+ */
27346
+ GIPIDatetimepickerClockComponent.prototype.setTime = function (event) {
27347
+ var _a, _b;
27348
+ var trigger = this._element.nativeElement;
27349
+ var triggerRect = trigger.getBoundingClientRect();
27350
+ var width = trigger.offsetWidth;
27351
+ var height = trigger.offsetHeight;
27352
+ var pageX = event.pageX !== undefined ? event.pageX : event.touches[0].pageX;
27353
+ var pageY = event.pageY !== undefined ? event.pageY : event.touches[0].pageY;
27354
+ var x = width / 2 - (pageX - triggerRect.left - window.pageXOffset);
27355
+ var y = height / 2 - (pageY - triggerRect.top - window.pageYOffset);
27356
+ var radian = Math.atan2(-x, y);
27357
+ var unit = Math.PI / (this._hourView ? 6 : this.interval ? 30 / this.interval : 30);
27358
+ var z = Math.sqrt(x * x + y * y);
27359
+ var outer = this._hourView && z > (width * (CLOCK_OUTER_RADIUS / 100) + width * (CLOCK_INNER_RADIUS / 100)) / 2;
27360
+ if (radian < 0) {
27361
+ radian = Math.PI * 2 + radian;
27362
+ }
27363
+ var value = Math.round(radian / unit);
27364
+ var date;
27365
+ if (this._hourView) {
27366
+ if (this.twelvehour) {
27367
+ value = value === 0 ? 12 : value;
27368
+ }
27369
+ else {
27370
+ if (value === 12) {
27371
+ value = 0;
27372
+ }
27373
+ value = outer ? value === 0 ? 12 : value : value === 0 ? 0 : value + 12;
27374
+ }
27375
+ // Don't close the hours view if an invalid hour is clicked.
27376
+ 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'])) {
27377
+ return;
27378
+ }
27379
+ 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));
27380
+ }
27381
+ else {
27382
+ if (this.interval) {
27383
+ value *= this.interval;
27384
+ }
27385
+ if (value === 60) {
27386
+ value = 0;
27387
+ }
27388
+ // Don't close the minutes view if an invalid minute is clicked.
27389
+ 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'])) {
27390
+ return;
27391
+ }
27392
+ 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);
27393
+ }
27394
+ this._timeChanged = true;
27395
+ this.activeDate = date;
27396
+ this.activeDateChange.emit(this.activeDate);
27397
+ };
27398
+ GIPIDatetimepickerClockComponent.ctorParameters = function () { return [
27399
+ { type: core.ElementRef },
27400
+ { type: GIPIDatetimeAdapter }
27401
+ ]; };
27402
+ __decorate([
27403
+ core.Input(),
27404
+ __metadata("design:type", Function)
27405
+ ], GIPIDatetimepickerClockComponent.prototype, "dateFilter", void 0);
27406
+ __decorate([
27407
+ core.Input(),
27408
+ __metadata("design:type", Number)
27409
+ ], GIPIDatetimepickerClockComponent.prototype, "interval", void 0);
27410
+ __decorate([
27411
+ core.Input(),
27412
+ __metadata("design:type", Boolean)
27413
+ ], GIPIDatetimepickerClockComponent.prototype, "twelvehour", void 0);
27414
+ __decorate([
27415
+ core.Input(),
27416
+ __metadata("design:type", Object),
27417
+ __metadata("design:paramtypes", [Object])
27418
+ ], GIPIDatetimepickerClockComponent.prototype, "activeDate", null);
27419
+ __decorate([
27420
+ core.Input(),
27421
+ __metadata("design:type", Object),
27422
+ __metadata("design:paramtypes", [Object])
27423
+ ], GIPIDatetimepickerClockComponent.prototype, "selected", null);
27424
+ __decorate([
27425
+ core.Input(),
27426
+ __metadata("design:type", Object),
27427
+ __metadata("design:paramtypes", [Object])
27428
+ ], GIPIDatetimepickerClockComponent.prototype, "minDate", null);
27429
+ __decorate([
27430
+ core.Input(),
27431
+ __metadata("design:type", Object),
27432
+ __metadata("design:paramtypes", [Object])
27433
+ ], GIPIDatetimepickerClockComponent.prototype, "maxDate", null);
27434
+ __decorate([
27435
+ core.Input(),
27436
+ __metadata("design:type", String),
27437
+ __metadata("design:paramtypes", [String])
27438
+ ], GIPIDatetimepickerClockComponent.prototype, "startView", null);
27439
+ __decorate([
27440
+ core.Output(),
27441
+ __metadata("design:type", Object)
27442
+ ], GIPIDatetimepickerClockComponent.prototype, "selectedChange", void 0);
27443
+ __decorate([
27444
+ core.Output(),
27445
+ __metadata("design:type", Object)
27446
+ ], GIPIDatetimepickerClockComponent.prototype, "activeDateChange", void 0);
27447
+ __decorate([
27448
+ core.Output(),
27449
+ __metadata("design:type", Object)
27450
+ ], GIPIDatetimepickerClockComponent.prototype, "_userSelection", void 0);
27451
+ GIPIDatetimepickerClockComponent = __decorate([
27452
+ core.Component({
27453
+ selector: 'gipi-mat-datetime-picker-clock',
27454
+ 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>",
27455
+ host: {
27456
+ role: 'clock',
27457
+ '(mousedown)': '_handleMousedown($event)',
27458
+ },
27459
+ 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}"]
27460
+ }),
27461
+ __metadata("design:paramtypes", [core.ElementRef,
27462
+ GIPIDatetimeAdapter])
27463
+ ], GIPIDatetimepickerClockComponent);
27464
+ return GIPIDatetimepickerClockComponent;
27465
+ }());
27466
+
27467
+ var GIPI_DATETIMEPICKER_VALUE_ACCESSOR = {
27468
+ provide: forms.NG_VALUE_ACCESSOR,
27469
+ useExisting: core.forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
27470
+ multi: true,
27471
+ };
27472
+ var GIPI_DATETIMEPICKER_VALIDATORS = {
27473
+ provide: forms.NG_VALIDATORS,
27474
+ useExisting: core.forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
27475
+ multi: true,
27476
+ };
27477
+ /**
27478
+ * An event used for datepicker input and change events. We don't always have access to a native
27479
+ * input or change event because the event may have been triggered by the user clicking on the
27480
+ * calendar popup. For consistency, we always use MatDatepickerInputEvent instead.
27481
+ */
27482
+ var GIPIDatetimepickerInputEvent = /** @class */ (function () {
27483
+ function GIPIDatetimepickerInputEvent(target, targetElement) {
27484
+ this.target = target;
27485
+ this.targetElement = targetElement;
27486
+ this.value = this.target.value;
27487
+ }
27488
+ return GIPIDatetimepickerInputEvent;
27489
+ }());
27490
+ /** Directive used to connect an input to a MatDatepicker. */
27491
+ var GIPIDatetimepickerInputDirective = /** @class */ (function () {
27492
+ function GIPIDatetimepickerInputDirective(_elementRef, _dateAdapter, _dateFormats, _formField) {
27493
+ var _this = this;
27494
+ this._elementRef = _elementRef;
27495
+ this._dateAdapter = _dateAdapter;
27496
+ this._dateFormats = _dateFormats;
27497
+ this._formField = _formField;
27498
+ /** Emits when the value changes (either due to user input or programmatic change). */
27499
+ this._valueChange = new core.EventEmitter();
27500
+ /** Emits when the disabled state has changed */
27501
+ this._disabledChange = new core.EventEmitter();
27502
+ this._datepickerSubscription = rxjs.Subscription.EMPTY;
27503
+ this._localeSubscription = rxjs.Subscription.EMPTY;
27504
+ /** Whether the last value set on the input was valid. */
27505
+ this._lastValueValid = false;
27506
+ /** Emits when a `change` event is fired on this `<input>`. */
27507
+ this.dateChange = new core.EventEmitter();
27508
+ /** Emits when an `input` event is fired on this `<input>`. */
27509
+ this.dateInput = new core.EventEmitter();
27510
+ this._onTouched = function () { };
27511
+ this._cvaOnChange = function () { };
27512
+ this._validatorOnChange = function () { };
27513
+ /** The form control validator for whether the input parses. */
27514
+ this._parseValidator = function () {
27515
+ return _this._lastValueValid
27516
+ ? null
27517
+ : { matDatepickerParse: { text: _this._elementRef.nativeElement.value } };
27518
+ };
27519
+ /** The form control validator for the min date. */
27520
+ this._minValidator = function (control) {
27521
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27522
+ return !_this.min ||
27523
+ !controlValue ||
27524
+ _this._dateAdapter.compareDatetime(_this.min, controlValue) <= 0 ? null : { matDatepickerMin: { min: _this.min, actual: controlValue } };
27525
+ };
27526
+ /** The form control validator for the max date. */
27527
+ this._maxValidator = function (control) {
27528
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27529
+ return !_this.max ||
27530
+ !controlValue ||
27531
+ _this._dateAdapter.compareDatetime(_this.max, controlValue) >= 0 ? null : { matDatepickerMax: { max: _this.max, actual: controlValue } };
27532
+ };
27533
+ /** The form control validator for the date filter. */
27534
+ this._filterValidator = function (control) {
27535
+ var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
27536
+ return !_this._dateFilter ||
27537
+ !controlValue ||
27538
+ _this._dateFilter(controlValue, exports.GIPIDatetimepickerFilterType.DATE)
27539
+ ? null
27540
+ : { matDatepickerFilter: true };
27541
+ };
27542
+ /** The combined form control validator for this input. */
27543
+ this._validator = forms.Validators.compose([
27544
+ this._parseValidator,
27545
+ this._minValidator,
27546
+ this._maxValidator,
27547
+ this._filterValidator,
27548
+ ]);
27549
+ if (!this._dateAdapter) {
27550
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
27551
+ }
27552
+ if (!this._dateFormats) {
27553
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
27554
+ }
27555
+ // Update the displayed date when the locale changes.
27556
+ this._localeSubscription = _dateAdapter.localeChanges.subscribe(function () { return _this.value = _this.value; });
27557
+ }
27558
+ GIPIDatetimepickerInputDirective_1 = GIPIDatetimepickerInputDirective;
27559
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", {
27560
+ /** The datepicker that this input is associated with. */
27561
+ set: function (value) {
27562
+ this.registerDatepicker(value);
27563
+ },
27564
+ enumerable: false,
27565
+ configurable: true
27566
+ });
27567
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", {
27568
+ set: function (filter) {
27569
+ this._dateFilter = filter;
27570
+ this._validatorOnChange();
27571
+ },
27572
+ enumerable: false,
27573
+ configurable: true
27574
+ });
27575
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "value", {
27576
+ get: function () {
27577
+ return this._value;
27578
+ },
27579
+ set: function (value) {
27580
+ var _this = this;
27581
+ value = this._dateAdapter.deserialize(value);
27582
+ this._lastValueValid = !value || this._dateAdapter.isValid(value);
27583
+ value = this._dateAdapter.getValidDateOrNull(value);
27584
+ var oldDate = this.value;
27585
+ this._value = value;
27586
+ this._formatValue(value);
27587
+ // use timeout to ensure the datetimepicker is instantiated and we get the correct format
27588
+ setTimeout(function () {
27589
+ if (!_this._dateAdapter.sameDatetime(oldDate, value)) {
27590
+ _this._valueChange.emit(value);
27591
+ }
27592
+ });
27593
+ },
27594
+ enumerable: false,
27595
+ configurable: true
27596
+ });
27597
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "min", {
27598
+ get: function () {
27599
+ return this._min;
27600
+ },
27601
+ set: function (value) {
27602
+ this._min = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
27603
+ this._validatorOnChange();
27604
+ },
27605
+ enumerable: false,
27606
+ configurable: true
27607
+ });
27608
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "max", {
27609
+ get: function () {
27610
+ return this._max;
27611
+ },
27612
+ set: function (value) {
27613
+ this._max = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
27614
+ this._validatorOnChange();
27615
+ },
27616
+ enumerable: false,
27617
+ configurable: true
27618
+ });
27619
+ Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "disabled", {
27620
+ get: function () {
27621
+ return !!this._disabled;
27622
+ },
27623
+ set: function (value) {
27624
+ var newValue = coercion.coerceBooleanProperty(value);
27625
+ if (this._disabled !== newValue) {
27626
+ this._disabled = newValue;
27627
+ this._disabledChange.emit(newValue);
27628
+ }
27629
+ },
27630
+ enumerable: false,
27631
+ configurable: true
27632
+ });
27633
+ GIPIDatetimepickerInputDirective.prototype.ngAfterContentInit = function () {
27634
+ var _this = this;
27635
+ if (this._datepicker) {
27636
+ this._datepickerSubscription = this._datepicker.selectedChanged.subscribe(function (selected) {
27637
+ _this.value = selected;
27638
+ _this._cvaOnChange(selected);
27639
+ _this._onTouched();
27640
+ _this.dateInput.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
27641
+ _this.dateChange.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
27642
+ });
27643
+ }
27644
+ };
27645
+ GIPIDatetimepickerInputDirective.prototype.ngOnDestroy = function () {
27646
+ this._datepickerSubscription.unsubscribe();
27647
+ this._localeSubscription.unsubscribe();
27648
+ this._valueChange.complete();
27649
+ this._disabledChange.complete();
27650
+ };
27651
+ GIPIDatetimepickerInputDirective.prototype.registerOnValidatorChange = function (fn) {
27652
+ this._validatorOnChange = fn;
27653
+ };
27654
+ GIPIDatetimepickerInputDirective.prototype.validate = function (c) {
27655
+ return this._validator ? this._validator(c) : null;
27656
+ };
27657
+ /**
27658
+ * Gets the element that the datepicker popup should be connected to.
27659
+ * @return The element to connect the popup to.
27660
+ */
27661
+ GIPIDatetimepickerInputDirective.prototype.getConnectedOverlayOrigin = function () {
27662
+ return this._formField
27663
+ ? this._formField.getConnectedOverlayOrigin()
27664
+ : this._elementRef;
27665
+ };
27666
+ // Implemented as part of ControlValueAccessor
27667
+ GIPIDatetimepickerInputDirective.prototype.writeValue = function (value) {
27668
+ this.value = value;
27669
+ };
27670
+ // Implemented as part of ControlValueAccessor
27671
+ GIPIDatetimepickerInputDirective.prototype.registerOnChange = function (fn) {
27672
+ this._cvaOnChange = fn;
27673
+ };
27674
+ // Implemented as part of ControlValueAccessor
27675
+ GIPIDatetimepickerInputDirective.prototype.registerOnTouched = function (fn) {
27676
+ this._onTouched = fn;
27677
+ };
27678
+ // Implemented as part of ControlValueAccessor
27679
+ GIPIDatetimepickerInputDirective.prototype.setDisabledState = function (disabled) {
27680
+ this.disabled = disabled;
27681
+ };
27682
+ GIPIDatetimepickerInputDirective.prototype._onKeydown = function (event) {
27683
+ if (event.altKey && event.keyCode === keycodes.DOWN_ARROW) {
27684
+ this._datepicker.open();
27685
+ event.preventDefault();
27686
+ }
27687
+ };
27688
+ GIPIDatetimepickerInputDirective.prototype._onInput = function (value) {
27689
+ var date = this._dateAdapter.parse(value, this.getParseFormat());
27690
+ this._lastValueValid = !date || this._dateAdapter.isValid(date);
27691
+ date = this._dateAdapter.getValidDateOrNull(date);
27692
+ this._value = date;
27693
+ this._cvaOnChange(date);
27694
+ this._valueChange.emit(date);
27695
+ this.dateInput.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
27696
+ };
27697
+ GIPIDatetimepickerInputDirective.prototype._onChange = function () {
27698
+ this.dateChange.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
27699
+ };
27700
+ /** Handles blur events on the input. */
27701
+ GIPIDatetimepickerInputDirective.prototype._onBlur = function () {
27702
+ // Reformat the input only if we have a valid value.
27703
+ if (this.value) {
27704
+ this._formatValue(this.value);
27705
+ }
27706
+ this._onTouched();
27707
+ };
27708
+ GIPIDatetimepickerInputDirective.prototype.registerDatepicker = function (value) {
27709
+ if (value) {
27710
+ this._datepicker = value;
27711
+ this._datepicker._registerInput(this);
27712
+ }
27713
+ };
27714
+ GIPIDatetimepickerInputDirective.prototype.getDisplayFormat = function () {
27715
+ switch (this._datepicker.type) {
27716
+ case 'date': return this._dateFormats.display.dateInput;
27717
+ case 'datetime': return this._dateFormats.display.datetimeInput;
27718
+ case 'time': return this._dateFormats.display.timeInput;
27719
+ case 'month': return this._dateFormats.display.monthInput;
27720
+ }
27721
+ };
27722
+ GIPIDatetimepickerInputDirective.prototype.getParseFormat = function () {
27723
+ var parseFormat;
27724
+ switch (this._datepicker.type) {
27725
+ case 'date':
27726
+ parseFormat = this._dateFormats.parse.dateInput;
27727
+ break;
27728
+ case 'datetime':
27729
+ parseFormat = this._dateFormats.parse.datetimeInput;
27730
+ break;
27731
+ case 'time':
27732
+ parseFormat = this._dateFormats.parse.timeInput;
27733
+ break;
27734
+ case 'month':
27735
+ parseFormat = this._dateFormats.parse.monthInput;
27736
+ break;
27737
+ }
27738
+ if (!parseFormat) {
27739
+ parseFormat = this._dateFormats.parse.dateInput;
27740
+ }
27741
+ return parseFormat;
27742
+ };
27743
+ /** Formats a value and sets it on the input element. */
27744
+ GIPIDatetimepickerInputDirective.prototype._formatValue = function (value) {
27745
+ this._elementRef.nativeElement.value = value
27746
+ ? this._dateAdapter.format(value, this.getDisplayFormat())
27747
+ : '';
27748
+ };
27749
+ var GIPIDatetimepickerInputDirective_1;
27750
+ GIPIDatetimepickerInputDirective.ctorParameters = function () { return [
27751
+ { type: core.ElementRef },
27752
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
27753
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [GIPI_DATETIME_FORMATS,] }] },
27754
+ { type: formField.MatFormField, decorators: [{ type: core.Optional }] }
27755
+ ]; };
27756
+ __decorate([
27757
+ core.Input(),
27758
+ __metadata("design:type", GIPIDatetimepickerComponent),
27759
+ __metadata("design:paramtypes", [GIPIDatetimepickerComponent])
27760
+ ], GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", null);
27761
+ __decorate([
27762
+ core.Input(),
27763
+ __metadata("design:type", Function),
27764
+ __metadata("design:paramtypes", [Function])
27765
+ ], GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", null);
27766
+ __decorate([
27767
+ core.Input(),
27768
+ __metadata("design:type", Object),
27769
+ __metadata("design:paramtypes", [Object])
27770
+ ], GIPIDatetimepickerInputDirective.prototype, "value", null);
27771
+ __decorate([
27772
+ core.Input(),
27773
+ __metadata("design:type", Object),
27774
+ __metadata("design:paramtypes", [Object])
27775
+ ], GIPIDatetimepickerInputDirective.prototype, "min", null);
27776
+ __decorate([
27777
+ core.Input(),
27778
+ __metadata("design:type", Object),
27779
+ __metadata("design:paramtypes", [Object])
27780
+ ], GIPIDatetimepickerInputDirective.prototype, "max", null);
27781
+ __decorate([
27782
+ core.Input(),
27783
+ __metadata("design:type", Object),
27784
+ __metadata("design:paramtypes", [Object])
27785
+ ], GIPIDatetimepickerInputDirective.prototype, "disabled", null);
27786
+ __decorate([
27787
+ core.Output(),
27788
+ __metadata("design:type", Object)
27789
+ ], GIPIDatetimepickerInputDirective.prototype, "dateChange", void 0);
27790
+ __decorate([
27791
+ core.Output(),
27792
+ __metadata("design:type", Object)
27793
+ ], GIPIDatetimepickerInputDirective.prototype, "dateInput", void 0);
27794
+ GIPIDatetimepickerInputDirective = GIPIDatetimepickerInputDirective_1 = __decorate([
27795
+ core.Directive({
27796
+ selector: 'input[gipiMatDatetimePicker]',
27797
+ exportAs: 'matDatepickerInput',
27798
+ providers: [
27799
+ GIPI_DATETIMEPICKER_VALUE_ACCESSOR,
27800
+ GIPI_DATETIMEPICKER_VALIDATORS,
27801
+ {
27802
+ provide: input.MAT_INPUT_VALUE_ACCESSOR,
27803
+ useExisting: GIPIDatetimepickerInputDirective_1,
27804
+ },
27805
+ ],
27806
+ host: {
27807
+ '[attr.aria-haspopup]': 'true',
27808
+ '[attr.aria-owns]': '(_datepicker?.opened && _datepicker.id) || null',
27809
+ '[attr.min]': 'min ? _dateAdapter.toIso8601(min) : null',
27810
+ '[attr.max]': 'max ? _dateAdapter.toIso8601(max) : null',
27811
+ '[disabled]': 'disabled',
27812
+ '(focus)': '_datepicker._handleFocus()',
27813
+ '(input)': '_onInput($event.target.value)',
27814
+ '(change)': '_onChange()',
27815
+ '(blur)': '_onBlur()',
27816
+ '(keydown)': '_onKeydown($event)',
27817
+ },
27818
+ }),
27819
+ __param(1, core.Optional()),
27820
+ __param(2, core.Optional()),
27821
+ __param(2, core.Inject(GIPI_DATETIME_FORMATS)),
27822
+ __param(3, core.Optional()),
27823
+ __metadata("design:paramtypes", [core.ElementRef,
27824
+ GIPIDatetimeAdapter, Object, formField.MatFormField])
27825
+ ], GIPIDatetimepickerInputDirective);
27826
+ return GIPIDatetimepickerInputDirective;
27827
+ }());
27828
+
27829
+ var DAYS_PER_WEEK$1 = 7;
27830
+ /**
27831
+ * An internal component used to display a single month in the datepicker.
27832
+ * @docs-private
27833
+ */
27834
+ var GIPIDatetimepickerMonthViewComponent = /** @class */ (function () {
27835
+ function GIPIDatetimepickerMonthViewComponent(_adapter, _dateFormats) {
27836
+ this._adapter = _adapter;
27837
+ this._dateFormats = _dateFormats;
27838
+ this.type = 'date';
27839
+ /** Emits when a new date is selected. */
27840
+ this.selectedChange = new core.EventEmitter();
27841
+ this._userSelection = new core.EventEmitter();
27842
+ if (!this._adapter) {
27843
+ throw createMissingDateImplError$1('GIPIDatetimeAdapter');
27844
+ }
27845
+ if (!this._dateFormats) {
27846
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
27847
+ }
27848
+ var firstDayOfWeek = this._adapter.getFirstDayOfWeek();
27849
+ var narrowWeekdays = this._adapter.getDayOfWeekNames('narrow');
27850
+ var longWeekdays = this._adapter.getDayOfWeekNames('long');
27851
+ // Rotate the labels for days of the week based on the configured first day of the week.
27852
+ var weekdays = longWeekdays.map(function (long, i) { return { long: long, narrow: narrowWeekdays[i] }; });
27853
+ this._weekdays = weekdays
27854
+ .slice(firstDayOfWeek)
27855
+ .concat(weekdays.slice(0, firstDayOfWeek));
27856
+ this._activeDate = this._adapter.today();
27857
+ }
27858
+ Object.defineProperty(GIPIDatetimepickerMonthViewComponent.prototype, "activeDate", {
27859
+ get: function () {
27860
+ return this._activeDate;
27861
+ },
27862
+ set: function (value) {
27863
+ var oldActiveDate = this._activeDate;
27864
+ this._activeDate = value || this._adapter.today();
27865
+ if (oldActiveDate && this._activeDate && !this._adapter.sameMonthAndYear(oldActiveDate, this._activeDate)) {
27866
+ this._init();
27867
+ if (this._adapter.isInNextMonth(oldActiveDate, this._activeDate)) {
27868
+ this.calendarState('right');
27869
+ }
27870
+ else {
27871
+ this.calendarState('left');
27872
+ }
27873
+ }
27874
+ },
27875
+ enumerable: false,
27876
+ configurable: true
27877
+ });
27878
+ Object.defineProperty(GIPIDatetimepickerMonthViewComponent.prototype, "selected", {
27879
+ get: function () {
27880
+ return this._selected;
27881
+ },
27882
+ set: function (value) {
27883
+ this._selected = value;
27884
+ this._selectedDate = this._getDateInCurrentMonth(this.selected);
27885
+ },
27886
+ enumerable: false,
27887
+ configurable: true
27888
+ });
27889
+ GIPIDatetimepickerMonthViewComponent.prototype.ngAfterContentInit = function () {
27890
+ this._init();
27891
+ };
27892
+ /** Handles when a new date is selected. */
27893
+ GIPIDatetimepickerMonthViewComponent.prototype._dateSelected = function (date) {
27894
+ 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)));
27895
+ if (this.type === 'date') {
27896
+ this._userSelection.emit();
27897
+ }
27898
+ };
27899
+ GIPIDatetimepickerMonthViewComponent.prototype._calendarStateDone = function () {
27900
+ this._calendarState = '';
27901
+ };
27902
+ /** Initializes this month view. */
27903
+ GIPIDatetimepickerMonthViewComponent.prototype._init = function () {
27904
+ this._selectedDate = this._getDateInCurrentMonth(this.selected);
27905
+ this._todayDate = this._getDateInCurrentMonth(this._adapter.today());
27906
+ 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));
27907
+ this._firstWeekOffset = (DAYS_PER_WEEK$1 + this._adapter.getDayOfWeek(firstOfMonth) - this._adapter.getFirstDayOfWeek()) % DAYS_PER_WEEK$1;
27908
+ this._createWeekCells();
27909
+ };
27910
+ /** Creates MdCalendarCells for the dates in this month. */
27911
+ GIPIDatetimepickerMonthViewComponent.prototype._createWeekCells = function () {
27912
+ var daysInMonth = this._adapter.getNumDaysInMonth(this.activeDate);
27913
+ var dateNames = this._adapter.getDateNames();
27914
+ this._weeks = [[]];
27915
+ for (var i = 0, cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {
27916
+ if (cell == DAYS_PER_WEEK$1) {
27917
+ this._weeks.push([]);
27918
+ cell = 0;
27919
+ }
27920
+ 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));
27921
+ var enabled = !this.dateFilter || this.dateFilter(date);
27922
+ var ariaLabel = this._adapter.format(date, this._dateFormats.display.dateA11yLabel);
27923
+ this._weeks[this._weeks.length - 1].push(new GIPIDatetimepickerCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
27924
+ }
27925
+ };
27926
+ /** Gets the date in this month that the given Date falls on. Returns null if the given Date is in another month. */
27927
+ GIPIDatetimepickerMonthViewComponent.prototype._getDateInCurrentMonth = function (date) {
27928
+ return this._adapter.sameMonthAndYear(date, this.activeDate)
27929
+ ? this._adapter.getDate(date)
27930
+ : null;
27931
+ };
27932
+ GIPIDatetimepickerMonthViewComponent.prototype.calendarState = function (direction) {
27933
+ this._calendarState = direction;
27934
+ };
27935
+ GIPIDatetimepickerMonthViewComponent.ctorParameters = function () { return [
27936
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
27937
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [GIPI_DATETIME_FORMATS,] }] }
27938
+ ]; };
27939
+ __decorate([
27940
+ core.Input(),
27941
+ __metadata("design:type", String)
27942
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "type", void 0);
27943
+ __decorate([
27944
+ core.Input(),
27945
+ __metadata("design:type", Function)
27946
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "dateFilter", void 0);
27947
+ __decorate([
27948
+ core.Input(),
27949
+ __metadata("design:type", Object),
27950
+ __metadata("design:paramtypes", [Object])
27951
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "activeDate", null);
27952
+ __decorate([
27953
+ core.Input(),
27954
+ __metadata("design:type", Object),
27955
+ __metadata("design:paramtypes", [Object])
27956
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "selected", null);
27957
+ __decorate([
27958
+ core.Output(),
27959
+ __metadata("design:type", Object)
27960
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "selectedChange", void 0);
27961
+ __decorate([
27962
+ core.Output(),
27963
+ __metadata("design:type", Object)
27964
+ ], GIPIDatetimepickerMonthViewComponent.prototype, "_userSelection", void 0);
27965
+ GIPIDatetimepickerMonthViewComponent = __decorate([
27966
+ core.Component({
27967
+ selector: 'gipi-mat-datetime-picker-month-view',
27968
+ 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>",
27969
+ animations: [slideCalendar],
27970
+ encapsulation: core.ViewEncapsulation.None,
27971
+ changeDetection: core.ChangeDetectionStrategy.OnPush
27972
+ }),
27973
+ __param(0, core.Optional()),
27974
+ __param(1, core.Optional()),
27975
+ __param(1, core.Inject(GIPI_DATETIME_FORMATS)),
27976
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
27977
+ ], GIPIDatetimepickerMonthViewComponent);
27978
+ return GIPIDatetimepickerMonthViewComponent;
27979
+ }());
27980
+
27981
+ var ɵ0$3 = function (i) { return String(i); };
27982
+ /** The default hour names to use if Intl API is not available. */
27983
+ var DEFAULT_HOUR_NAMES = range$1(24, ɵ0$3);
27984
+ var ɵ1 = function (i) { return String(i); };
27985
+ /** The default minute names to use if Intl API is not available. */
27986
+ var DEFAULT_MINUTE_NAMES = range$1(60, ɵ1);
27987
+ function range$1(length, valueFunction) {
27988
+ var valuesArray = Array(length);
27989
+ for (var i = 0; i < length; i++) {
27990
+ valuesArray[i] = valueFunction(i);
27991
+ }
27992
+ return valuesArray;
27993
+ }
27994
+ var GIPINativeDatetimeAdapter = /** @class */ (function (_super) {
27995
+ __extends(GIPINativeDatetimeAdapter, _super);
27996
+ function GIPINativeDatetimeAdapter(matDateLocale, _delegate) {
27997
+ var _this = _super.call(this, _delegate) || this;
27998
+ _this.setLocale(matDateLocale);
27999
+ return _this;
28000
+ }
28001
+ GIPINativeDatetimeAdapter.prototype.clone = function (date) {
28002
+ return this.createDatetime(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date));
28003
+ };
28004
+ GIPINativeDatetimeAdapter.prototype.getHour = function (date) {
28005
+ return date.getHours();
28006
+ };
28007
+ GIPINativeDatetimeAdapter.prototype.getMinute = function (date) {
28008
+ return date.getMinutes();
28009
+ };
28010
+ GIPINativeDatetimeAdapter.prototype.isInNextMonth = function (startDate, endDate) {
28011
+ var nextMonth = this.getDateInNextMonth(startDate);
28012
+ return this.sameMonthAndYear(nextMonth, endDate);
28013
+ };
28014
+ GIPINativeDatetimeAdapter.prototype.createDatetime = function (year, month, date, hour, minute) {
28015
+ // Check for invalid month and date (except upper bound on date which we have to check after
28016
+ // creating the Date).
28017
+ if (month < 0 || month > 11) {
28018
+ throw Error("Invalid month index \"" + month + "\". Month index has to be between 0 and 11.");
28019
+ }
28020
+ if (date < 1) {
28021
+ throw Error("Invalid date \"" + date + "\". Date has to be greater than 0.");
28022
+ }
28023
+ if (hour < 0 || hour > 23) {
28024
+ throw Error("Invalid hour \"" + hour + "\". Hour has to be between 0 and 23.");
28025
+ }
28026
+ if (minute < 0 || minute > 59) {
28027
+ throw Error("Invalid minute \"" + minute + "\". Minute has to be between 0 and 59.");
28028
+ }
28029
+ var result = this._createDateWithOverflow(year, month, date, hour, minute);
28030
+ // Check that the date wasn't above the upper bound for the month, causing the month to overflow
28031
+ if (result.getMonth() !== month) {
28032
+ throw Error("Invalid date \"" + date + "\" for month with index \"" + month + "\".");
28033
+ }
28034
+ return result;
28035
+ };
28036
+ GIPINativeDatetimeAdapter.prototype.getFirstDateOfMonth = function (date) {
28037
+ var result = new Date();
28038
+ result.setFullYear(date.getFullYear(), date.getMonth(), 1);
28039
+ return result;
28040
+ };
28041
+ GIPINativeDatetimeAdapter.prototype.getHourNames = function () {
28042
+ return DEFAULT_HOUR_NAMES;
28043
+ };
28044
+ GIPINativeDatetimeAdapter.prototype.getMinuteNames = function () {
28045
+ return DEFAULT_MINUTE_NAMES;
28046
+ };
28047
+ GIPINativeDatetimeAdapter.prototype.addCalendarYears = function (date, years) {
28048
+ return this.addCalendarMonths(date, years * 12);
28049
+ };
28050
+ GIPINativeDatetimeAdapter.prototype.addCalendarMonths = function (date, months) {
28051
+ var newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));
28052
+ // It's possible to wind up in the wrong month if the original month has more days than the new
28053
+ // month. In this case we want to go to the last day of the desired month.
28054
+ // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
28055
+ // guarantee this.
28056
+ if (this.getMonth(newDate) !== (((this.getMonth(date) + months) % 12) + 12) % 12) {
28057
+ newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));
28058
+ }
28059
+ return newDate;
28060
+ };
28061
+ GIPINativeDatetimeAdapter.prototype.addCalendarDays = function (date, days) {
28062
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days, this.getHour(date), this.getMinute(date));
28063
+ };
28064
+ GIPINativeDatetimeAdapter.prototype.addCalendarHours = function (date, hours) {
28065
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date) + hours, this.getMinute(date));
28066
+ };
28067
+ GIPINativeDatetimeAdapter.prototype.addCalendarMinutes = function (date, minutes) {
28068
+ return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date) + minutes);
28069
+ };
28070
+ GIPINativeDatetimeAdapter.prototype.toIso8601 = function (date) {
28071
+ return (_super.prototype.toIso8601.call(this, date) + 'T' + [this._2digit(date.getUTCHours()), this._2digit(date.getUTCMinutes()),].join(':'));
28072
+ };
28073
+ GIPINativeDatetimeAdapter.prototype.getDateInNextMonth = function (date) {
28074
+ return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());
28075
+ };
28076
+ /**
28077
+ * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
28078
+ * other browsers do not. We remove them to make output consistent and because they interfere with
28079
+ * date parsing.
28080
+ * @param str The string to strip direction characters from.
28081
+ * @returns The stripped string.
28082
+ */
28083
+ GIPINativeDatetimeAdapter.prototype._stripDirectionalityCharacters = function (str) {
28084
+ return str.replace(/[\u200e\u200f]/g, '');
28085
+ };
28086
+ /**
28087
+ * Pads a number to make it two digits.
28088
+ * @param n The number to pad.
28089
+ * @returns The padded number.
28090
+ */
28091
+ GIPINativeDatetimeAdapter.prototype._2digit = function (n) {
28092
+ return ('00' + n).slice(-2);
28093
+ };
28094
+ /** Creates a date but allows the month and date to overflow. */
28095
+ GIPINativeDatetimeAdapter.prototype._createDateWithOverflow = function (year, month, date, hours, minutes) {
28096
+ var result = new Date(year, month, date, hours, minutes);
28097
+ // We need to correct for the fact that JS native Date treats years in range [0, 99] as
28098
+ // abbreviations for 19xx.
28099
+ if (year >= 0 && year < 100) {
28100
+ result.setFullYear(this.getYear(result) - 1900);
28101
+ }
28102
+ return result;
28103
+ };
28104
+ GIPINativeDatetimeAdapter.ctorParameters = function () { return [
28105
+ { type: String, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MAT_DATE_LOCALE,] }] },
28106
+ { type: core$1.DateAdapter }
28107
+ ]; };
28108
+ GIPINativeDatetimeAdapter = __decorate([
28109
+ core.Injectable(),
28110
+ __param(0, core.Optional()), __param(0, core.Inject(core$1.MAT_DATE_LOCALE)),
28111
+ __metadata("design:paramtypes", [String, core$1.DateAdapter])
28112
+ ], GIPINativeDatetimeAdapter);
28113
+ return GIPINativeDatetimeAdapter;
28114
+ }(GIPIDatetimeAdapter));
28115
+
28116
+ var GIPI_NATIVE_DATETIME_FORMATS = {
28117
+ parse: {},
28118
+ display: {
28119
+ dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },
28120
+ monthInput: { month: 'long' },
28121
+ datetimeInput: {
28122
+ year: 'numeric',
28123
+ month: '2-digit',
28124
+ day: '2-digit',
28125
+ hour: '2-digit',
28126
+ minute: '2-digit',
28127
+ },
28128
+ timeInput: { hour: '2-digit', minute: '2-digit' },
28129
+ monthYearLabel: { year: 'numeric', month: 'short' },
28130
+ dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
28131
+ monthYearA11yLabel: { year: 'numeric', month: 'long' },
28132
+ popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' },
28133
+ },
28134
+ };
28135
+
28136
+ var NativeDatetimeModule = /** @class */ (function () {
28137
+ function NativeDatetimeModule() {
28138
+ }
28139
+ NativeDatetimeModule = __decorate([
28140
+ core.NgModule({
28141
+ imports: [
28142
+ core$1.NativeDateModule,
28143
+ ],
28144
+ providers: [
28145
+ {
28146
+ provide: GIPIDatetimeAdapter,
28147
+ useClass: GIPINativeDatetimeAdapter,
28148
+ },
28149
+ ],
28150
+ })
28151
+ ], NativeDatetimeModule);
28152
+ return NativeDatetimeModule;
28153
+ }());
28154
+ var ɵ0$4 = GIPI_NATIVE_DATETIME_FORMATS;
28155
+ var GIPINativeDatetimeModule = /** @class */ (function () {
28156
+ function GIPINativeDatetimeModule() {
28157
+ }
28158
+ GIPINativeDatetimeModule = __decorate([
28159
+ core.NgModule({
28160
+ imports: [
28161
+ NativeDatetimeModule,
28162
+ core$1.MatNativeDateModule,
28163
+ ],
28164
+ providers: [
28165
+ {
28166
+ provide: GIPI_DATETIME_FORMATS,
28167
+ useValue: ɵ0$4,
28168
+ },
28169
+ ],
28170
+ })
28171
+ ], GIPINativeDatetimeModule);
28172
+ return GIPINativeDatetimeModule;
28173
+ }());
28174
+
28175
+ /**
28176
+ * An internal component used to display a single year in the datepicker.
28177
+ * @docs-private
28178
+ */
28179
+ var GIPIDatetimepickerYearViewComponent = /** @class */ (function () {
28180
+ function GIPIDatetimepickerYearViewComponent(_adapter, _dateFormats) {
28181
+ this._adapter = _adapter;
28182
+ this._dateFormats = _dateFormats;
28183
+ this.type = 'date';
28184
+ /** Emits when a new month is selected. */
28185
+ this.selectedChange = new core.EventEmitter();
28186
+ this._userSelection = new core.EventEmitter();
28187
+ if (!this._adapter) {
28188
+ throw createMissingDateImplError$1('DatetimeAdapter');
28189
+ }
28190
+ if (!this._dateFormats) {
28191
+ throw createMissingDateImplError$1('GIPI_DATETIME_FORMATS');
28192
+ }
28193
+ this._activeDate = this._adapter.today();
28194
+ }
28195
+ Object.defineProperty(GIPIDatetimepickerYearViewComponent.prototype, "activeDate", {
28196
+ get: function () {
28197
+ return this._activeDate;
28198
+ },
28199
+ set: function (value) {
28200
+ var oldActiveDate = this._activeDate;
28201
+ this._activeDate = value || this._adapter.today();
28202
+ if (oldActiveDate && this._activeDate && !this._adapter.sameYear(oldActiveDate, this._activeDate)) {
28203
+ this._init();
28204
+ }
28205
+ },
28206
+ enumerable: false,
28207
+ configurable: true
28208
+ });
28209
+ Object.defineProperty(GIPIDatetimepickerYearViewComponent.prototype, "selected", {
28210
+ get: function () {
28211
+ return this._selected;
28212
+ },
28213
+ set: function (value) {
28214
+ this._selected = value;
28215
+ this._selectedMonth = this._getMonthInCurrentYear(this.selected);
28216
+ },
28217
+ enumerable: false,
28218
+ configurable: true
28219
+ });
28220
+ GIPIDatetimepickerYearViewComponent.prototype.ngAfterContentInit = function () {
28221
+ this._init();
28222
+ };
28223
+ /** Handles when a new month is selected. */
28224
+ GIPIDatetimepickerYearViewComponent.prototype._monthSelected = function (month) {
28225
+ var normalizedDate = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, 1, 0, 0);
28226
+ 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)));
28227
+ if (this.type === 'month') {
28228
+ this._userSelection.emit();
28229
+ }
28230
+ };
28231
+ GIPIDatetimepickerYearViewComponent.prototype._calendarStateDone = function () {
28232
+ this._calendarState = '';
28233
+ };
28234
+ /** Initializes this month view. */
28235
+ GIPIDatetimepickerYearViewComponent.prototype._init = function () {
28236
+ var _this = this;
28237
+ this._selectedMonth = this._getMonthInCurrentYear(this.selected);
28238
+ this._todayMonth = this._getMonthInCurrentYear(this._adapter.today());
28239
+ this._yearLabel = this._adapter.getYearName(this.activeDate);
28240
+ var monthNames = this._adapter.getMonthNames('short');
28241
+ // First row of months only contains 5 elements so we can fit the year label on the same row.
28242
+ 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]); }); });
28243
+ };
28244
+ /**
28245
+ * Gets the month in this year that the given Date falls on.
28246
+ * Returns null if the given Date is in another year.
28247
+ */
28248
+ GIPIDatetimepickerYearViewComponent.prototype._getMonthInCurrentYear = function (date) {
28249
+ return this._adapter.sameYear(date, this.activeDate)
28250
+ ? this._adapter.getMonth(date)
28251
+ : null;
28252
+ };
28253
+ /** Creates an MdCalendarCell for the given month. */
28254
+ GIPIDatetimepickerYearViewComponent.prototype._createCellForMonth = function (month, monthName) {
28255
+ 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);
28256
+ return new GIPIDatetimepickerCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._isMonthEnabled(month));
28257
+ };
28258
+ /** Whether the given month is enabled. */
28259
+ GIPIDatetimepickerYearViewComponent.prototype._isMonthEnabled = function (month) {
28260
+ if (!this.dateFilter) {
28261
+ return true;
28262
+ }
28263
+ var firstOfMonth = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), month, 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
28264
+ // If any date in the month is enabled count the month as enabled.
28265
+ for (var date = firstOfMonth; this._adapter.getMonth(date) == month; date = this._adapter.addCalendarDays(date, 1)) {
28266
+ if (this.dateFilter(date)) {
28267
+ return true;
28268
+ }
28269
+ }
28270
+ return false;
28271
+ };
28272
+ GIPIDatetimepickerYearViewComponent.ctorParameters = function () { return [
28273
+ { type: GIPIDatetimeAdapter, decorators: [{ type: core.Optional }] },
28274
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [GIPI_DATETIME_FORMATS,] }] }
28275
+ ]; };
28276
+ __decorate([
28277
+ core.Input(),
28278
+ __metadata("design:type", String)
28279
+ ], GIPIDatetimepickerYearViewComponent.prototype, "type", void 0);
28280
+ __decorate([
28281
+ core.Input(),
28282
+ __metadata("design:type", Function)
28283
+ ], GIPIDatetimepickerYearViewComponent.prototype, "dateFilter", void 0);
28284
+ __decorate([
28285
+ core.Input(),
28286
+ __metadata("design:type", Object),
28287
+ __metadata("design:paramtypes", [Object])
28288
+ ], GIPIDatetimepickerYearViewComponent.prototype, "activeDate", null);
28289
+ __decorate([
28290
+ core.Input(),
28291
+ __metadata("design:type", Object),
28292
+ __metadata("design:paramtypes", [Object])
28293
+ ], GIPIDatetimepickerYearViewComponent.prototype, "selected", null);
28294
+ __decorate([
28295
+ core.Output(),
28296
+ __metadata("design:type", Object)
28297
+ ], GIPIDatetimepickerYearViewComponent.prototype, "selectedChange", void 0);
28298
+ __decorate([
28299
+ core.Output(),
28300
+ __metadata("design:type", Object)
28301
+ ], GIPIDatetimepickerYearViewComponent.prototype, "_userSelection", void 0);
28302
+ GIPIDatetimepickerYearViewComponent = __decorate([
28303
+ core.Component({
28304
+ selector: 'gipi-mat-datetime-picker-year-view',
28305
+ 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",
28306
+ animations: [slideCalendar],
28307
+ encapsulation: core.ViewEncapsulation.None,
28308
+ changeDetection: core.ChangeDetectionStrategy.OnPush
28309
+ }),
28310
+ __param(0, core.Optional()),
28311
+ __param(1, core.Optional()),
28312
+ __param(1, core.Inject(GIPI_DATETIME_FORMATS)),
28313
+ __metadata("design:paramtypes", [GIPIDatetimeAdapter, Object])
28314
+ ], GIPIDatetimepickerYearViewComponent);
28315
+ return GIPIDatetimepickerYearViewComponent;
28316
+ }());
28317
+
28318
+ var DatetimepickerModule = /** @class */ (function () {
28319
+ function DatetimepickerModule() {
28320
+ }
28321
+ DatetimepickerModule = __decorate([
28322
+ core.NgModule({
28323
+ imports: [
28324
+ common.CommonModule,
28325
+ forms.FormsModule,
28326
+ forms.ReactiveFormsModule,
28327
+ button.MatButtonModule,
28328
+ dialog.MatDialogModule,
28329
+ icon.MatIconModule,
28330
+ overlay.OverlayModule,
28331
+ a11y.A11yModule,
28332
+ datepicker.MatDatepickerModule,
28333
+ GIPINativeDatetimeModule,
28334
+ ],
28335
+ exports: [
28336
+ forms.FormsModule,
28337
+ forms.ReactiveFormsModule,
28338
+ button.MatButtonModule,
28339
+ dialog.MatDialogModule,
28340
+ icon.MatIconModule,
28341
+ overlay.OverlayModule,
28342
+ a11y.A11yModule,
28343
+ datepicker.MatDatepickerModule,
28344
+ GIPINativeDatetimeModule,
28345
+ GIPIDatetimepickerCalendarComponent,
28346
+ GIPIDatetimepickerCalendarBodyComponent,
28347
+ GIPIDatetimepickerClockComponent,
28348
+ GIPIDatetimepickerComponent,
28349
+ GIPIDatetimepickerToggleComponent,
28350
+ GIPIDatetimepickerInputDirective,
28351
+ GIPIDatetimepickerContentComponent,
28352
+ GIPIDatetimepickerMonthViewComponent,
28353
+ GIPIDatetimepickerYearViewComponent,
28354
+ GIPIDatetimepickerMultiYearViewComponent,
28355
+ GIPIDateAndTimePickerComponent,
28356
+ ],
28357
+ declarations: [
28358
+ GIPIDatetimepickerCalendarComponent,
28359
+ GIPIDatetimepickerCalendarBodyComponent,
28360
+ GIPIDatetimepickerClockComponent,
28361
+ GIPIDatetimepickerComponent,
28362
+ GIPIDatetimepickerToggleComponent,
28363
+ GIPIDatetimepickerInputDirective,
28364
+ GIPIDatetimepickerContentComponent,
28365
+ GIPIDatetimepickerMonthViewComponent,
28366
+ GIPIDatetimepickerYearViewComponent,
28367
+ GIPIDatetimepickerMultiYearViewComponent,
28368
+ GIPIDateAndTimePickerComponent,
28369
+ ],
28370
+ entryComponents: [
28371
+ GIPIDatetimepickerContentComponent,
28372
+ ],
28373
+ providers: [
28374
+ datepicker.MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER,
28375
+ ],
28376
+ })
28377
+ ], DatetimepickerModule);
28378
+ return DatetimepickerModule;
28379
+ }());
28380
+
28381
+ var moment$4 = moment_;
28382
+ var CalendarMonthYearComponent = /** @class */ (function () {
28383
+ function CalendarMonthYearComponent(_changeDetectorRef) {
28384
+ this._changeDetectorRef = _changeDetectorRef;
28385
+ this._subscriptions = new rxjs.Subscription();
28386
+ this._animationState = 'enter';
28387
+ this._animationDone = new rxjs.Subject();
28388
+ this.years = [];
28389
+ this.months = [];
28390
+ this._calendarView = 'both';
28391
+ }
28392
+ CalendarMonthYearComponent_1 = CalendarMonthYearComponent;
28393
+ CalendarMonthYearComponent.prototype.ngOnInit = function () {
28394
+ if (this._locale) {
28395
+ moment$4.locale(this._locale);
28396
+ }
28397
+ else {
28398
+ moment$4.locale('pt-br');
28399
+ }
28400
+ this.months = __spread(this.monthYearPicker.model.months);
28401
+ this._calendarView = this.monthYearPicker.calendarView;
28402
+ if (this._calendarView === 'year') {
28403
+ this.toggleShowYears();
28404
+ }
28405
+ this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
28406
+ };
28407
+ CalendarMonthYearComponent.prototype.ngAfterViewInit = function () {
28408
+ var _this = this;
28409
+ if (this._changeDetectorRef) {
28410
+ this._subscriptions.add(this.monthYearPicker._stateChanges.subscribe(function () {
28411
+ _this._changeDetectorRef.markForCheck();
28412
+ }));
28413
+ }
28414
+ };
28415
+ CalendarMonthYearComponent.prototype.ngOnDestroy = function () {
28416
+ this._subscriptions.unsubscribe();
28417
+ this._animationDone.complete();
28418
+ };
28419
+ CalendarMonthYearComponent.prototype._startExitAnimation = function () {
28420
+ this._animationState = 'void';
28421
+ if (this._changeDetectorRef) {
28422
+ this._changeDetectorRef.markForCheck();
28423
+ }
28424
+ };
28425
+ CalendarMonthYearComponent.prototype.decrement = function () {
28426
+ this.monthYearPicker.model.decrementYear();
28427
+ if (this.isShowYears) {
28428
+ this._renderYears();
28429
+ }
28430
+ };
28431
+ CalendarMonthYearComponent.prototype.increment = function () {
28432
+ this.monthYearPicker.model.incrementYear();
28433
+ if (this.isShowYears) {
28434
+ this._renderYears();
28435
+ }
28436
+ };
28437
+ CalendarMonthYearComponent.prototype.selectMonth = function (index) {
28438
+ this.monthYearPicker.model.selectMonth(index);
28439
+ this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, this.monthYearPicker.model.selectedMonthYear);
28440
+ this.monthYearPicker.close();
28441
+ };
28442
+ CalendarMonthYearComponent.prototype.isSelectedMonth = function (monthIndex) {
28443
+ return this.monthYearPicker.model.selectedMonthIndex == monthIndex && this.monthYearPicker.model.selectedMonthYear == this.monthYearPicker.model.selectedYearMoment.year();
28444
+ };
28445
+ CalendarMonthYearComponent.prototype.isCurrentMonth = function (monthIndex) {
28446
+ var currentMonth = moment$4().month();
28447
+ var currentYear = moment$4().year();
28448
+ return (monthIndex === currentMonth) && (this.monthYearPicker.model.selectedYearMoment.year() === currentYear);
28449
+ };
28450
+ CalendarMonthYearComponent.prototype.isDisabledMonth = function (index) {
28451
+ var disabled = false;
28452
+ if (!ObjectUtil.isNull(this.monthYearPicker)) {
28453
+ var minMonth = !ObjectUtil.isNull(this.monthYearPicker.min) ? this.monthYearPicker.min.month : null;
28454
+ var maxMonth = !ObjectUtil.isNull(this.monthYearPicker.max) ? this.monthYearPicker.max.month : null;
28455
+ if (!ObjectUtil.isNull(minMonth) && !ObjectUtil.isNull(maxMonth)) {
28456
+ disabled = index < minMonth || index > maxMonth;
28457
+ }
28458
+ else if (!ObjectUtil.isNull(minMonth)) {
28459
+ disabled = index < minMonth;
28460
+ }
28461
+ else if (!ObjectUtil.isNull(maxMonth)) {
28462
+ disabled = index > maxMonth;
28463
+ }
28464
+ }
28465
+ return disabled;
28466
+ // let disabled = false;
28467
+ // if (this._enabledMonths && this._enabledMonths.length > 0) {
28468
+ // disabled = this._enabledMonths.indexOf(index) < 0;
28469
+ // }
28470
+ // if (this._disabledMonths && this._disabledMonths.length > 0) {
28471
+ // disabled = this._disabledMonths.indexOf(index) >= 0;
28472
+ // }
28473
+ // return disabled;
28474
+ };
28475
+ /** Years */
28476
+ CalendarMonthYearComponent.prototype.toggleShowYears = function () {
28477
+ this.isShowYears = !this.isShowYears;
28478
+ this._renderYears();
28479
+ };
28480
+ CalendarMonthYearComponent.prototype._renderYears = function () {
28481
+ this.years = [];
28482
+ for (var i = 11; i > 0; i--) {
28483
+ this.years.push(this.monthYearPicker.model.selectedYearMoment.year() - i);
28484
+ }
28485
+ for (var i = 0; i <= 12; i++) {
28486
+ this.years.push(this.monthYearPicker.model.selectedYearMoment.year() + i);
28487
+ }
28488
+ };
28489
+ Object.defineProperty(CalendarMonthYearComponent.prototype, "periodButtonLabel", {
28490
+ get: function () {
28491
+ var formatYearRange = function (start, end) {
28492
+ return start + " \u2013 " + end;
28493
+ };
28494
+ return this.isShowYears ? formatYearRange(this.years[0], this.years[this.years.length - 1]) : this.monthYearPicker.model.selectedYearText;
28495
+ },
28496
+ enumerable: false,
28497
+ configurable: true
28498
+ });
28499
+ CalendarMonthYearComponent.prototype.selectYear = function (year) {
28500
+ if (this._calendarView === 'both') {
28501
+ this.isShowYears = false;
28502
+ }
28503
+ this.monthYearPicker.model.selectedYearMoment = moment$4().year(year);
25232
28504
  this.monthYearPicker.model.updateYearText();
25233
28505
  if (this._calendarView === 'year') {
25234
28506
  this.monthYearPicker.onValueChange(this.monthYearPicker.model.selectedMonthIndex, year);
@@ -25367,7 +28639,7 @@
25367
28639
  };
25368
28640
  return MonthPickerModel;
25369
28641
  }());
25370
- var nextUniqueId$q = 0;
28642
+ var nextUniqueId$r = 0;
25371
28643
  var MonthYearPickerComponent = /** @class */ (function () {
25372
28644
  function MonthYearPickerComponent(elementRef, _changeDetectorRef, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dir, _document) {
25373
28645
  this.elementRef = elementRef;
@@ -25377,7 +28649,7 @@
25377
28649
  this._viewContainerRef = _viewContainerRef;
25378
28650
  this._dir = _dir;
25379
28651
  this._document = _document;
25380
- this._name = "gipi-date-range-" + nextUniqueId$q++;
28652
+ this._name = "gipi-date-range-" + nextUniqueId$r++;
25381
28653
  this._focusedElementBeforeOpen = null;
25382
28654
  this._backdropHarnessClass = this._name + "-backdrop";
25383
28655
  this._stateChanges = new rxjs.Subject();
@@ -25772,7 +29044,7 @@
25772
29044
  'class': 'gipi-month-year-picker',
25773
29045
  },
25774
29046
  changeDetection: core.ChangeDetectionStrategy.OnPush,
25775
- 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}"]
29047
+ 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}"]
25776
29048
  }),
25777
29049
  __param(5, core.Inject(GIPI_MONTH_YEAR_SCROLL_STRATEGY)),
25778
29050
  __param(6, core.Optional()),
@@ -25900,7 +29172,7 @@
25900
29172
  GIPIResizeService,
25901
29173
  GIPIPaginationService,
25902
29174
  ];
25903
- var ɵ0$3 = {
29175
+ var ɵ0$5 = {
25904
29176
  parse: {
25905
29177
  dateInput: 'DD/MM/YYYY',
25906
29178
  },
@@ -25910,6 +29182,46 @@
25910
29182
  dateA11yLabel: 'LL',
25911
29183
  monthYearA11yLabel: 'MMMM YYYY',
25912
29184
  },
29185
+ }, ɵ1$1 = {
29186
+ parse: {},
29187
+ display: {
29188
+ dateInput: {
29189
+ year: "numeric",
29190
+ month: "2-digit",
29191
+ day: "2-digit"
29192
+ },
29193
+ monthInput: {
29194
+ month: "long"
29195
+ },
29196
+ datetimeInput: {
29197
+ year: "numeric",
29198
+ month: "2-digit",
29199
+ day: "2-digit",
29200
+ hour: "2-digit",
29201
+ minute: "2-digit"
29202
+ },
29203
+ timeInput: {
29204
+ hour: "2-digit",
29205
+ minute: "2-digit"
29206
+ },
29207
+ monthYearLabel: {
29208
+ year: "numeric",
29209
+ month: "short"
29210
+ },
29211
+ dateA11yLabel: {
29212
+ year: "numeric",
29213
+ month: "long",
29214
+ day: "numeric"
29215
+ },
29216
+ monthYearA11yLabel: {
29217
+ year: "numeric",
29218
+ month: "long"
29219
+ },
29220
+ popupHeaderDateLabel: {
29221
+ day: "2-digit",
29222
+ month: "short",
29223
+ }
29224
+ }
25913
29225
  };
25914
29226
  var SharedModule = /** @class */ (function () {
25915
29227
  function SharedModule(_injector) {
@@ -25974,6 +29286,7 @@
25974
29286
  angularMentions.MentionModule,
25975
29287
  DatepickerModule,
25976
29288
  MonthYearPickerModule,
29289
+ DatetimepickerModule,
25977
29290
  ],
25978
29291
  exports: [
25979
29292
  GIPIComponents,
@@ -26020,6 +29333,7 @@
26020
29333
  SelectButtonNextBatchComponent,
26021
29334
  DatepickerModule,
26022
29335
  MonthYearPickerModule,
29336
+ DatetimepickerModule,
26023
29337
  ],
26024
29338
  entryComponents: [
26025
29339
  GIPIConfirmationDialogComponent,
@@ -26041,7 +29355,11 @@
26041
29355
  },
26042
29356
  {
26043
29357
  provide: MAT_DATE_FORMATS,
26044
- useValue: ɵ0$3,
29358
+ useValue: ɵ0$5,
29359
+ },
29360
+ {
29361
+ provide: GIPI_DATETIME_FORMATS,
29362
+ useValue: ɵ1$1,
26045
29363
  },
26046
29364
  ]
26047
29365
  }),
@@ -27257,7 +30575,10 @@
27257
30575
  return this.baseService.router.url.split('/').filter(function (path) { return (path === 'view'); }).length > 0;
27258
30576
  };
27259
30577
  GIPIAbstractComponent.prototype.isListing = function () {
27260
- return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view'); }).length === 0;
30578
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'new') || (path === 'edit') || (path === 'view') || (path === 'clone'); }).length === 0;
30579
+ };
30580
+ GIPIAbstractComponent.prototype.isCloning = function () {
30581
+ return this.baseService.router.url.split('/').filter(function (path) { return (path === 'clone'); }).length > 0;
27261
30582
  };
27262
30583
  GIPIAbstractComponent.prototype.hasPermission = function (permission) {
27263
30584
  if (StringUtil.isEmpty(permission)) {
@@ -27928,6 +31249,27 @@
27928
31249
  throw new Error(e);
27929
31250
  }
27930
31251
  };
31252
+ GIPIAbstractFindComponent.prototype.cloneRegister = function (id, permission) {
31253
+ id = this.handleEntityId(id);
31254
+ if (ObjectUtil.isNull(id)) {
31255
+ return;
31256
+ }
31257
+ if (StringUtil.isEmpty(permission) && ObjectUtil.isNull(this.basePermissionList)) {
31258
+ this.setFilterSessionStorage();
31259
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone'], true);
31260
+ }
31261
+ else {
31262
+ if (StringUtil.isEmpty(permission) && !ObjectUtil.isNull(this.basePermissionList)) {
31263
+ permission = this.basePermissionList.MAKE;
31264
+ }
31265
+ if (!this.hasPermission(permission)) {
31266
+ this.addWarningMessage(exports.INJECTOR.get(APP_MESSAGES).NOT_PERMISSION);
31267
+ return;
31268
+ }
31269
+ this.setFilterSessionStorage();
31270
+ this.navigateByUrl(this.getPath(), [this.getPath(), 'new', 'clone', id], true);
31271
+ }
31272
+ };
27931
31273
  GIPIAbstractFindComponent.prototype.clear = function () {
27932
31274
  this.baseService.sessionStorageService.remove('filter');
27933
31275
  this.page = this.newPage();
@@ -29387,6 +32729,10 @@
29387
32729
  exports.BreakpointObserverService = BreakpointObserverService;
29388
32730
  exports.BrowserUtil = BrowserUtil;
29389
32731
  exports.ButtonComponent = ButtonComponent;
32732
+ exports.CLOCK_INNER_RADIUS = CLOCK_INNER_RADIUS;
32733
+ exports.CLOCK_OUTER_RADIUS = CLOCK_OUTER_RADIUS;
32734
+ exports.CLOCK_RADIUS = CLOCK_RADIUS;
32735
+ exports.CLOCK_TICK_RADIUS = CLOCK_TICK_RADIUS;
29390
32736
  exports.CalendarMonthYearComponent = CalendarMonthYearComponent;
29391
32737
  exports.CardComponent = CardComponent;
29392
32738
  exports.ChartDTO = ChartDTO;
@@ -29401,6 +32747,7 @@
29401
32747
  exports.DateRangePickerComponent = DateRangePickerComponent;
29402
32748
  exports.DateUtil = DateUtil;
29403
32749
  exports.DatepickerModule = DatepickerModule;
32750
+ exports.DatetimepickerModule = DatetimepickerModule;
29404
32751
  exports.DefaultMatCalendarRangeStrategy = DefaultMatCalendarRangeStrategy;
29405
32752
  exports.DialogDTO = DialogDTO;
29406
32753
  exports.DialogService = DialogService;
@@ -29428,6 +32775,19 @@
29428
32775
  exports.GIPIColDirective = GIPIColDirective;
29429
32776
  exports.GIPIConfirmationDialogComponent = GIPIConfirmationDialogComponent;
29430
32777
  exports.GIPIConnectedOverlayScrollHandler = GIPIConnectedOverlayScrollHandler;
32778
+ exports.GIPIDateAndTimePickerComponent = GIPIDateAndTimePickerComponent;
32779
+ exports.GIPIDatetimeAdapter = GIPIDatetimeAdapter;
32780
+ exports.GIPIDatetimepickerCalendarBodyComponent = GIPIDatetimepickerCalendarBodyComponent;
32781
+ exports.GIPIDatetimepickerCalendarCell = GIPIDatetimepickerCalendarCell;
32782
+ exports.GIPIDatetimepickerCalendarComponent = GIPIDatetimepickerCalendarComponent;
32783
+ exports.GIPIDatetimepickerClockComponent = GIPIDatetimepickerClockComponent;
32784
+ exports.GIPIDatetimepickerComponent = GIPIDatetimepickerComponent;
32785
+ exports.GIPIDatetimepickerContentComponent = GIPIDatetimepickerContentComponent;
32786
+ exports.GIPIDatetimepickerInputDirective = GIPIDatetimepickerInputDirective;
32787
+ exports.GIPIDatetimepickerInputEvent = GIPIDatetimepickerInputEvent;
32788
+ exports.GIPIDatetimepickerMonthViewComponent = GIPIDatetimepickerMonthViewComponent;
32789
+ exports.GIPIDatetimepickerToggleComponent = GIPIDatetimepickerToggleComponent;
32790
+ exports.GIPIDatetimepickerYearViewComponent = GIPIDatetimepickerYearViewComponent;
29431
32791
  exports.GIPIDomHandler = GIPIDomHandler;
29432
32792
  exports.GIPIDropdownMenuComponent = GIPIDropdownMenuComponent;
29433
32793
  exports.GIPIDynamicTabDirective = GIPIDynamicTabDirective;
@@ -29449,6 +32809,8 @@
29449
32809
  exports.GIPIInputSelectListboxComponent = GIPIInputSelectListboxComponent;
29450
32810
  exports.GIPIInputSelectPagedComponent = GIPIInputSelectPagedComponent;
29451
32811
  exports.GIPIInputSelectRadioComponent = GIPIInputSelectRadioComponent;
32812
+ exports.GIPINativeDatetimeAdapter = GIPINativeDatetimeAdapter;
32813
+ exports.GIPINativeDatetimeModule = GIPINativeDatetimeModule;
29452
32814
  exports.GIPINotificationComponent = GIPINotificationComponent;
29453
32815
  exports.GIPINoveltiesComponent = GIPINoveltiesComponent;
29454
32816
  exports.GIPIOverlayComponent = GIPIOverlayComponent;
@@ -29493,9 +32855,13 @@
29493
32855
  exports.GIPIUserProfileComponent = GIPIUserProfileComponent;
29494
32856
  exports.GIPI_BREAKPOINTS = GIPI_BREAKPOINTS;
29495
32857
  exports.GIPI_CUSTOM_BREAKPOINTS_PROVIDER = GIPI_CUSTOM_BREAKPOINTS_PROVIDER;
32858
+ exports.GIPI_DATETIMEPICKER_VALIDATORS = GIPI_DATETIMEPICKER_VALIDATORS;
32859
+ exports.GIPI_DATETIMEPICKER_VALUE_ACCESSOR = GIPI_DATETIMEPICKER_VALUE_ACCESSOR;
32860
+ exports.GIPI_DATETIME_FORMATS = GIPI_DATETIME_FORMATS;
29496
32861
  exports.GIPI_MONTH_YEAR_SCROLL_STRATEGY = GIPI_MONTH_YEAR_SCROLL_STRATEGY;
29497
32862
  exports.GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY = GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY;
29498
32863
  exports.GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER = GIPI_MONTH_YEAR_SCROLL_STRATEGY_FACTORY_PROVIDER;
32864
+ exports.GIPI_NATIVE_DATETIME_FORMATS = GIPI_NATIVE_DATETIME_FORMATS;
29499
32865
  exports.IconComponent = IconComponent;
29500
32866
  exports.InputComponent = InputComponent;
29501
32867
  exports.InputCurrencyComponent = InputCurrencyComponent;
@@ -29552,6 +32918,7 @@
29552
32918
  exports.MonthYearPickerModule = MonthYearPickerModule;
29553
32919
  exports.MultitenantModel = MultitenantModel;
29554
32920
  exports.NativeDateAdapter = NativeDateAdapter;
32921
+ exports.NativeDatetimeModule = NativeDatetimeModule;
29555
32922
  exports.NavService = NavService;
29556
32923
  exports.NumberUtil = NumberUtil;
29557
32924
  exports.ObjectUtil = ObjectUtil;
@@ -29611,7 +32978,8 @@
29611
32978
  exports.ƟCMP = ƟCMP;
29612
32979
  exports.ƟFAC = ƟFAC;
29613
32980
  exports.ƟPROV = ƟPROV;
29614
- exports.ɵ0 = ɵ0$3;
32981
+ exports.ɵ0 = ɵ0$5;
32982
+ exports.ɵ1 = ɵ1$1;
29615
32983
  exports.ɵa = MAT_DATE_RANGE_INPUT_PARENT;
29616
32984
  exports.ɵb = MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY;
29617
32985
  exports.ɵc = MAT_CALENDAR_RANGE_STRATEGY_PROVIDER;
@@ -29629,6 +32997,8 @@
29629
32997
  exports.ɵo = ITSS_SELECT_SEARCH_DEFAULT_OPTIONS;
29630
32998
  exports.ɵq = MaterialModule;
29631
32999
  exports.ɵr = DatepickerComponent;
33000
+ exports.ɵs = slideCalendar;
33001
+ exports.ɵt = GIPIDatetimepickerMultiYearViewComponent;
29632
33002
 
29633
33003
  Object.defineProperty(exports, '__esModule', { value: true });
29634
33004