@cauca-911/material 18.0.3 → 18.0.4-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Component, HostListener, Inject, signal } from '@angular/core';
2
- import { MatNativeDateModule } from '@angular/material/core';
2
+ import { provideNativeDateAdapter } from '@angular/material/core';
3
3
  import { MatDatepickerModule } from '@angular/material/datepicker';
4
4
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
5
  import { MatListModule } from '@angular/material/list';
@@ -114,7 +114,7 @@ function DialogDateTimePickerComponent_button_6_mat_icon_1_Template(rf, ctx) { i
114
114
  } }
115
115
  function DialogDateTimePickerComponent_button_6_Template(rf, ctx) { if (rf & 1) {
116
116
  const _r8 = i0.ɵɵgetCurrentView();
117
- i0.ɵɵelementStart(0, "button", 6);
117
+ i0.ɵɵelementStart(0, "button", 21);
118
118
  i0.ɵɵlistener("click", function DialogDateTimePickerComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.clear()); });
119
119
  i0.ɵɵtemplate(1, DialogDateTimePickerComponent_button_6_mat_icon_1_Template, 2, 0, "mat-icon", 7);
120
120
  i0.ɵɵtext(2);
@@ -299,7 +299,7 @@ export class DialogDateTimePickerComponent {
299
299
  static { this.ɵfac = function DialogDateTimePickerComponent_Factory(t) { return new (t || DialogDateTimePickerComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
300
300
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DialogDateTimePickerComponent, selectors: [["cauca-dialog-date-time-picker"]], hostBindings: function DialogDateTimePickerComponent_HostBindings(rf, ctx) { if (rf & 1) {
301
301
  i0.ɵɵlistener("resize", function DialogDateTimePickerComponent_resize_HostBindingHandler($event) { return ctx.onResize($event); }, false, i0.ɵɵresolveWindow);
302
- } }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 15, vars: 14, consts: [["mat-dialog-content", ""], [1, "date-time-picker", 3, "ngClass"], [1, "calendar"], [3, "selectedChange", "minDate", "maxDate", "selected"], ["mat-dialog-actions", "", "align", "end"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["mat-stroked-button", "", 3, "click"], [4, "ngIf"], ["color", "primary", "mat-raised-button", "", "cdkFocusInitial", "", 3, "click"], ["class", "hours", 4, "ngIf"], ["class", "hour-and-minute-separator", 4, "ngIf"], ["class", "minutes", 4, "ngIf"], ["class", "minute-and-second-separator", 4, "ngIf"], ["class", "seconds", 4, "ngIf"], [1, "hours"], [3, "valueChange", "disabled", "options", "value"], [3, "valueChange", "options", "value"], [1, "hour-and-minute-separator"], [1, "minutes"], [1, "minute-and-second-separator"], [1, "seconds"]], template: function DialogDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
302
+ } }, standalone: true, features: [i0.ɵɵProvidersFeature([provideNativeDateAdapter()]), i0.ɵɵStandaloneFeature], decls: 15, vars: 14, consts: [["mat-dialog-content", ""], [1, "date-time-picker", 3, "ngClass"], [1, "calendar"], [3, "selectedChange", "minDate", "maxDate", "selected"], ["mat-dialog-actions", "", "align", "end"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["color", "primary", "mat-stroked-button", "", 3, "click"], [4, "ngIf"], ["color", "primary", "mat-raised-button", "", "cdkFocusInitial", "", 3, "click"], ["class", "hours", 4, "ngIf"], ["class", "hour-and-minute-separator", 4, "ngIf"], ["class", "minutes", 4, "ngIf"], ["class", "minute-and-second-separator", 4, "ngIf"], ["class", "seconds", 4, "ngIf"], [1, "hours"], [3, "valueChange", "disabled", "options", "value"], [3, "valueChange", "options", "value"], [1, "hour-and-minute-separator"], [1, "minutes"], [1, "minute-and-second-separator"], [1, "seconds"], ["mat-stroked-button", "", 3, "click"]], template: function DialogDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
303
303
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "mat-calendar", 3);
304
304
  i0.ɵɵlistener("selectedChange", function DialogDateTimePickerComponent_Template_mat_calendar_selectedChange_3_listener($event) { return ctx.dateChanged($event); });
305
305
  i0.ɵɵelementEnd()();
@@ -337,7 +337,6 @@ export class DialogDateTimePickerComponent {
337
337
  i0.ɵɵadvance();
338
338
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 12, "material.ok"), " ");
339
339
  } }, dependencies: [CommonModule, i2.NgClass, i2.NgIf, CaucaCoreForChildModule, i3.TranslatePipe, MatButtonModule, i4.MatButton, MatDatepickerModule, i5.MatCalendar, MatIconModule, i6.MatIcon, MatListModule,
340
- MatNativeDateModule,
341
340
  MobileTimePickerComponent,
342
341
  DesktopTimePickerComponent], styles: ["div[mat-dialog-actions][_ngcontent-%COMP%]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions][_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:2px}.date-time-picker[_ngcontent-%COMP%]{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child mat-calendar[_ngcontent-%COMP%]{width:290px;height:350px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar[_ngcontent-%COMP%]{grid-area:calendar}.hours[_ngcontent-%COMP%]{grid-area:hours}.minutes[_ngcontent-%COMP%]{grid-area:minutes}.seconds[_ngcontent-%COMP%]{grid-area:seconds}.hour-and-minute-separator[_ngcontent-%COMP%]{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator[_ngcontent-%COMP%]{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker[_ngcontent-%COMP%]{grid-template-rows:auto auto;height:450px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(:first-child){height:70px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}"] }); }
343
342
  }
@@ -350,10 +349,9 @@ export class DialogDateTimePickerComponent {
350
349
  MatDatepickerModule,
351
350
  MatIconModule,
352
351
  MatListModule,
353
- MatNativeDateModule,
354
352
  MobileTimePickerComponent,
355
353
  DesktopTimePickerComponent
356
- ], template: "<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>", styles: ["div[mat-dialog-actions]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions] button{margin:2px}.date-time-picker{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker>div{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker>div:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker>div:first-child mat-calendar{width:290px;height:350px}.date-time-picker>div::-webkit-scrollbar{display:none}.date-time-picker ::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker ::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker ::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar{grid-area:calendar}.hours{grid-area:hours}.minutes{grid-area:minutes}.seconds{grid-area:seconds}.hour-and-minute-separator{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker{grid-template-rows:auto auto;height:450px}.date-time-picker>div{border-left:none}.date-time-picker>div:not(:first-child){height:70px}.date-time-picker>div:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}\n"] }]
354
+ ], providers: [provideNativeDateAdapter()], template: "<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>", styles: ["div[mat-dialog-actions]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions] button{margin:2px}.date-time-picker{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker>div{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker>div:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker>div:first-child mat-calendar{width:290px;height:350px}.date-time-picker>div::-webkit-scrollbar{display:none}.date-time-picker ::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker ::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker ::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar{grid-area:calendar}.hours{grid-area:hours}.minutes{grid-area:minutes}.seconds{grid-area:seconds}.hour-and-minute-separator{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker{grid-template-rows:auto auto;height:450px}.date-time-picker>div{border-left:none}.date-time-picker>div:not(:first-child){height:70px}.date-time-picker>div:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}\n"] }]
357
355
  }], () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
358
356
  type: Inject,
359
357
  args: [MAT_DIALOG_DATA]
@@ -362,4 +360,4 @@ export class DialogDateTimePickerComponent {
362
360
  args: ['window:resize', ['$event']]
363
361
  }] }); })();
364
362
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DialogDateTimePickerComponent, { className: "DialogDateTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\components\\dialog-date-time-picker\\dialog-date-time-picker.component.ts", lineNumber: 31 }); })();
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDBCQUEw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aXQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IERpYWxvZ0RhdGVUaW1lUGlja2VyT3B0aW9ucywgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQsIERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YVN0ZXAgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YSc7XG5pbXBvcnQgeyBDYXVjYUNvcmVGb3JDaGlsZE1vZHVsZSB9IGZyb20gJ0BjYXVjYS05MTEvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vYmlsZVRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9tb2JpbGUtdGltZS1waWNrZXIvbW9iaWxlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2Rlc2t0b3AtdGltZS1waWNrZXIvZGVza3RvcC10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXVjYS1kaWFsb2ctZGF0ZS10aW1lLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2F1Y2FDb3JlRm9yQ2hpbGRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTW9iaWxlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0RhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHNlbGVjdGVkSG91ciA9IDA7XG4gIHB1YmxpYyBzZWxlY3RlZE1pbnV0ZSA9IDA7XG4gIHB1YmxpYyBzZWxlY3RlZFNlY29uZCA9IDA7XG4gIHB1YmxpYyBpbml0aWFsRGF0ZTogRGF0ZSA9IG51bGw7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGUgPSBudWxsO1xuICBwdWJsaWMgbWluaW11bURhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgbWF4aW11bURhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgc2hvd1NlY29uZHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93QnV0dG9uSWNvbnM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBob3VycyA9IFsuLi5BcnJheSgyNCkua2V5cygpXTtcbiAgcHVibGljIG1pbnV0ZXMgPSBbLi4uQXJyYXkoNjApLmtleXMoKV07XG4gIHB1YmxpYyBzZWNvbmRzID0gWy4uLkFycmF5KDYwKS5rZXlzKCldO1xuICBwdWJsaWMgc2hvd01vYmlsZVVpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dUaW1lOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbCh0cnVlKTtcblxuICBwdWJsaWMgZGlzYWJsZWQ6IERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YURpc2FibGVkID0ge1xuICAgIGhvdXJzOiB0cnVlLFxuICAgIHNvbWVIb3VyczogW10sXG4gICAgbWludXRlczogdHJ1ZSxcbiAgICBzb21lTWludXRlczogW10sXG4gICAgc2Vjb25kczogdHJ1ZSxcbiAgICBzb21lU2Vjb25kczogW10sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGVwOiBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwID0ge1xuICAgIGhvdXJzOiAxLFxuICAgIG1pbnV0ZXM6IDEsXG4gICAgc2Vjb25kczogMSxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ0RhdGVUaW1lUGlja2VyQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIG9wdGlvbnM6IERpYWxvZ0RhdGVUaW1lUGlja2VyT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLnN0ZXAgPSBvcHRpb25zLnN0ZXAgfHwgdGhpcy5zdGVwO1xuICAgIHRoaXMuc2hvd1NlY29uZHMgPSBvcHRpb25zLnNob3dTZWNvbmRzO1xuICAgIHRoaXMuc2hvd0J1dHRvbkljb25zID0gb3B0aW9ucy5zaG93QnV0dG9uSWNvbnMgPz8gdGhpcy5zaG93QnV0dG9uSWNvbnM7XG4gICAgdGhpcy5zaG93Q2xlYXJCdXR0b24gPSBvcHRpb25zLnNob3dDbGVhckJ1dHRvbiA/PyB0aGlzLnNob3dDbGVhckJ1dHRvbjtcbiAgICB0aGlzLnNob3dUaW1lLnNldChvcHRpb25zLnNob3dUaW1lID8/IHRydWUpO1xuICAgIHRoaXMuc2V0TGlzdEhvdXJzTWludXRlcygpO1xuICAgIHRoaXMuaW5pdGlhbEVhY2hDb21wb25lbnRWYWx1ZShvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uV2luZG93V2l0aENoYW5nZSh3aW5kb3cuaW5uZXJXaWR0aCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uUmVzaXplKGV2ZW50KSB7XG4gICAgdGhpcy5vbldpbmRvd1dpdGhDaGFuZ2UoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xuICB9XG5cbiAgcHVibGljIGRhdGVDaGFuZ2VkKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0SG91cnModGhpcy5zZWxlY3RlZEhvdXIpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0TWludXRlcyh0aGlzLnNlbGVjdGVkTWludXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldFNlY29uZHModGhpcy5zZWxlY3RlZFNlY29uZCk7XG4gICAgICB0aGlzLmRpc2FibGVkLmhvdXJzID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVkLnNvbWVIb3VycyA9IHRoaXMuaG91cnMuZmlsdGVyKGhvdXIgPT4gdGhpcy5ob3VyT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKGhvdXIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xuICAgICAgdGhpcy5kaXNhYmxlZC5ob3VycyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvdXJDaGFuZ2VkKGhvdXI6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkLmhvdXJzIHx8IHRoaXMuZGlzYWJsZWQuc29tZUhvdXJzLmluY2x1ZGVzKGhvdXIpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGhvdXI7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0SG91cnMoaG91cik7XG4gICAgdGhpcy5kaXNhYmxlZC5taW51dGVzID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZC5zb21lTWludXRlcyA9IHRoaXMubWludXRlcy5maWx0ZXIobWludXRlID0+IHRoaXMubWludXRlT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKG1pbnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIG1pbnV0ZUNoYW5nZWQobWludXRlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZC5taW51dGVzIHx8IHRoaXMuZGlzYWJsZWQuc29tZU1pbnV0ZXMuaW5jbHVkZXMobWludXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZSA9IG1pbnV0ZTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5kaXNhYmxlZC5zZWNvbmRzID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlZC5zb21lU2Vjb25kcyA9IHRoaXMuc2Vjb25kcy5maWx0ZXIoc2Vjb25kID0+IHRoaXMuc2Vjb25kT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKHNlY29uZCkpO1xuICB9XG5cbiAgcHVibGljIHNlY29uZENoYW5nZWQoc2Vjb25kOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZC5zZWNvbmRzIHx8IHRoaXMuZGlzYWJsZWQuc29tZVNlY29uZHMuaW5jbHVkZXMoc2Vjb25kKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZCA9IHNlY29uZDtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRTZWNvbmRzKHNlY29uZCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgdmFsdWU6IHRoaXMuaW5pdGlhbERhdGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkRGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbldpbmRvd1dpdGhDaGFuZ2Uod2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc2hvd01vYmlsZVVpID0gd2lkdGggJiYgd2lkdGggPD0gNTU1O1xuICB9XG5cbiAgcHJpdmF0ZSBob3VyT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKGhvdXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKSkge1xuICAgICAgcmV0dXJuIGhvdXIgPCB0aGlzLm1pbmltdW1EYXRlLmdldEhvdXJzKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWF4aW11bURhdGUoKSkge1xuICAgICAgcmV0dXJuIGhvdXIgPiB0aGlzLm1heGltdW1EYXRlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtaW51dGVPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQobWludXRlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0SG91cnMoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRIb3VycygpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbWludXRlIDwgdGhpcy5taW5pbXVtRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNYXhpbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRIb3VycygpID09PSB0aGlzLm1heGltdW1EYXRlLmdldEhvdXJzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBtaW51dGUgPiB0aGlzLm1heGltdW1EYXRlLmdldE1pbnV0ZXMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNlY29uZE9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChzZWNvbmQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRIb3VycygpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldEhvdXJzKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRNaW51dGVzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWNvbmQgPCB0aGlzLm1pbmltdW1EYXRlLmdldFNlY29uZHMoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1pbnV0ZXMoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXRNaW51dGVzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWNvbmQgPiB0aGlzLm1heGltdW1EYXRlLmdldFNlY29uZHMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxFYWNoQ29tcG9uZW50VmFsdWUob3B0aW9uczogRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsRGF0ZSA9IG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbnVsbDtcbiAgICB0aGlzLm1pbmltdW1EYXRlID0gb3B0aW9ucy5taW5pbXVtRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMubWluaW11bURhdGUpIDogbnVsbDtcbiAgICB0aGlzLm1heGltdW1EYXRlID0gb3B0aW9ucy5tYXhpbXVtRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMubWF4aW11bURhdGUpIDogbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbmV3IERhdGUoKTtcbiAgICB0aGlzLmRhdGVDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpIDogbnVsbCk7XG4gICAgdGhpcy5ob3VyQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKS5nZXRIb3VycygpIDogMCk7XG4gICAgdGhpcy5taW51dGVDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpLmdldE1pbnV0ZXMoKSA6IDApO1xuICAgIHRoaXMuc2Vjb25kQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKS5nZXRTZWNvbmRzKCkgOiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5taW5pbXVtRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRGdWxsWWVhcigpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldE1vbnRoKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXREYXRlKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1heGltdW1EYXRlICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpID09PSB0aGlzLm1heGltdW1EYXRlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0TW9udGgoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLm1heGltdW1EYXRlLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldExpc3RIb3Vyc01pbnV0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ob3VycyA9IHRoaXMuaG91cnMuZmlsdGVyKGhvdXIgPT4gaG91ciAlIHRoaXMuc3RlcC5ob3VycyA9PT0gMCk7XG4gICAgdGhpcy5taW51dGVzID0gdGhpcy5taW51dGVzLmZpbHRlcihtaW51dGUgPT4gbWludXRlICUgdGhpcy5zdGVwLm1pbnV0ZXMgPT09IDApO1xuICAgIHRoaXMuc2Vjb25kcyA9IHRoaXMuc2Vjb25kcy5maWx0ZXIoc2Vjb25kZSA9PiBzZWNvbmRlICUgdGhpcy5zdGVwLnNlY29uZHMgPT09IDApO1xuICB9XG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInNob3dTZWNvbmRzID8gJ3Nob3ctc2Vjb25kcycgOiAnaGlkZS1zZWNvbmRzJ1wiIGNsYXNzPVwiZGF0ZS10aW1lLXBpY2tlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgIDxtYXQtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5pbXVtRGF0ZVwiXG4gICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4aW11bURhdGVcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L21hdC1jYWxlbmRhcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChzaG93VGltZSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG91cnNcIiAqbmdJZj1cIiFzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtZGVza3RvcC10aW1lLXBpY2tlciBbZGlzYWJsZWRdPVwie2FsbDogZGlzYWJsZWQuaG91cnMsIHNvbWVPcHRpb25zOiBkaXNhYmxlZC5zb21lSG91cnN9XCIgKHZhbHVlQ2hhbmdlKT1cImhvdXJDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJob3Vyc1wiIFt2YWx1ZV09XCJzZWxlY3RlZEhvdXJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Vyc1wiICpuZ0lmPVwic2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLW1vYmlsZS10aW1lLXBpY2tlciAodmFsdWVDaGFuZ2UpPVwiaG91ckNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cImhvdXJzXCIgW3ZhbHVlXT1cInNlbGVjdGVkSG91clwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXItYW5kLW1pbnV0ZS1zZXBhcmF0b3JcIiAqbmdJZj1cInNob3dNb2JpbGVVaVwiPjo8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbnV0ZXNcIiAqbmdJZj1cIiFzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtZGVza3RvcC10aW1lLXBpY2tlciBbZGlzYWJsZWRdPVwie2FsbDogZGlzYWJsZWQubWludXRlcywgc29tZU9wdGlvbnM6IGRpc2FibGVkLnNvbWVNaW51dGVzfVwiICh2YWx1ZUNoYW5nZSk9XCJtaW51dGVDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJtaW51dGVzXCIgW3ZhbHVlXT1cInNlbGVjdGVkTWludXRlXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWludXRlc1wiICpuZ0lmPVwic2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLW1vYmlsZS10aW1lLXBpY2tlciAodmFsdWVDaGFuZ2UpPVwibWludXRlQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwibWludXRlc1wiIFt2YWx1ZV09XCJzZWxlY3RlZE1pbnV0ZVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbnV0ZS1hbmQtc2Vjb25kLXNlcGFyYXRvclwiICpuZ0lmPVwic2hvd1NlY29uZHMgJiYgc2hvd01vYmlsZVVpXCI+OjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZHNcIiAqbmdJZj1cInNob3dTZWNvbmRzICYmICFzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtZGVza3RvcC10aW1lLXBpY2tlciBbZGlzYWJsZWRdPVwie2FsbDogZGlzYWJsZWQuc2Vjb25kcywgc29tZU9wdGlvbnM6IGRpc2FibGVkLnNvbWVTZWNvbmRzfVwiICh2YWx1ZUNoYW5nZSk9XCJzZWNvbmRDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJzZWNvbmRzXCIgW3ZhbHVlXT1cInNlbGVjdGVkU2Vjb25kXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kc1wiICpuZ0lmPVwic2hvd1NlY29uZHMgJiYgc2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLW1vYmlsZS10aW1lLXBpY2tlciAodmFsdWVDaGFuZ2UpPVwic2Vjb25kQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwic2Vjb25kc1wiIFt2YWx1ZV09XCJzZWxlY3RlZFNlY29uZFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93QnV0dG9uSWNvbnNcIj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgIHt7J21hdGVyaWFsLmNsZWFyJyB8IHRyYW5zbGF0ZX19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dCdXR0b25JY29uc1wiPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgIHt7J21hdGVyaWFsLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b24gY2RrRm9jdXNJbml0aWFsIChjbGljayk9XCJjb25maXJtKClcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0J1dHRvbkljb25zXCI+Y2hlY2s8L21hdC1pY29uPlxuICAgICAgICB7eydtYXRlcmlhbC5vaycgfCB0cmFuc2xhdGV9fVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+Il19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUF1Qix3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFB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bnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUsIHByb3ZpZGVOYXRpdmVEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zLCBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFEaXNhYmxlZCwgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscy9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci1kYXRhJztcbmltcG9ydCB7IENhdWNhQ29yZUZvckNoaWxkTW9kdWxlIH0gZnJvbSAnQGNhdWNhLTkxMS9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9iaWxlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL21vYmlsZS10aW1lLXBpY2tlci9tb2JpbGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2t0b3BUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGVza3RvcC10aW1lLXBpY2tlci9kZXNrdG9wLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLWRpYWxvZy1kYXRlLXRpbWUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDYXVjYUNvcmVGb3JDaGlsZE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTW9iaWxlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBEZXNrdG9wVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtwcm92aWRlTmF0aXZlRGF0ZUFkYXB0ZXIoKV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgc2VsZWN0ZWRIb3VyID0gMDtcbiAgcHVibGljIHNlbGVjdGVkTWludXRlID0gMDtcbiAgcHVibGljIHNlbGVjdGVkU2Vjb25kID0gMDtcbiAgcHVibGljIGluaXRpYWxEYXRlOiBEYXRlID0gbnVsbDtcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG51bGw7XG4gIHB1YmxpYyBtaW5pbXVtRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBtYXhpbXVtRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHB1YmxpYyBzaG93U2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dCdXR0b25JY29uczogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIGhvdXJzID0gWy4uLkFycmF5KDI0KS5rZXlzKCldO1xuICBwdWJsaWMgbWludXRlcyA9IFsuLi5BcnJheSg2MCkua2V5cygpXTtcbiAgcHVibGljIHNlY29uZHMgPSBbLi4uQXJyYXkoNjApLmtleXMoKV07XG4gIHB1YmxpYyBzaG93TW9iaWxlVWk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd1RpbWU6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKHRydWUpO1xuXG4gIHB1YmxpYyBkaXNhYmxlZDogRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQgPSB7XG4gICAgaG91cnM6IHRydWUsXG4gICAgc29tZUhvdXJzOiBbXSxcbiAgICBtaW51dGVzOiB0cnVlLFxuICAgIHNvbWVNaW51dGVzOiBbXSxcbiAgICBzZWNvbmRzOiB0cnVlLFxuICAgIHNvbWVTZWNvbmRzOiBbXSxcbiAgfTtcblxuICBwcml2YXRlIHN0ZXA6IERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YVN0ZXAgPSB7XG4gICAgaG91cnM6IDEsXG4gICAgbWludXRlczogMSxcbiAgICBzZWNvbmRzOiAxLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgb3B0aW9uczogRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zXG4gICkge1xuICAgIHRoaXMuc3RlcCA9IG9wdGlvbnMuc3RlcCB8fCB0aGlzLnN0ZXA7XG4gICAgdGhpcy5zaG93U2Vjb25kcyA9IG9wdGlvbnMuc2hvd1NlY29uZHM7XG4gICAgdGhpcy5zaG93QnV0dG9uSWNvbnMgPSBvcHRpb25zLnNob3dCdXR0b25JY29ucyA/PyB0aGlzLnNob3dCdXR0b25JY29ucztcbiAgICB0aGlzLnNob3dDbGVhckJ1dHRvbiA9IG9wdGlvbnMuc2hvd0NsZWFyQnV0dG9uID8/IHRoaXMuc2hvd0NsZWFyQnV0dG9uO1xuICAgIHRoaXMuc2hvd1RpbWUuc2V0KG9wdGlvbnMuc2hvd1RpbWUgPz8gdHJ1ZSk7XG4gICAgdGhpcy5zZXRMaXN0SG91cnNNaW51dGVzKCk7XG4gICAgdGhpcy5pbml0aWFsRWFjaENvbXBvbmVudFZhbHVlKG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub25XaW5kb3dXaXRoQ2hhbmdlKHdpbmRvdy5pbm5lcldpZHRoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25SZXNpemUoZXZlbnQpIHtcbiAgICB0aGlzLm9uV2luZG93V2l0aENoYW5nZShldmVudC50YXJnZXQuaW5uZXJXaWR0aCk7XG4gIH1cblxuICBwdWJsaWMgZGF0ZUNoYW5nZWQoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRIb3Vycyh0aGlzLnNlbGVjdGVkSG91cik7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRNaW51dGVzKHRoaXMuc2VsZWN0ZWRNaW51dGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0U2Vjb25kcyh0aGlzLnNlbGVjdGVkU2Vjb25kKTtcbiAgICAgIHRoaXMuZGlzYWJsZWQuaG91cnMgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZWQuc29tZUhvdXJzID0gdGhpcy5ob3Vycy5maWx0ZXIoaG91ciA9PiB0aGlzLmhvdXJPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQoaG91cikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLmRpc2FibGVkLmhvdXJzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG91ckNoYW5nZWQoaG91cjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQuaG91cnMgfHwgdGhpcy5kaXNhYmxlZC5zb21lSG91cnMuaW5jbHVkZXMoaG91cikpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gaG91cjtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRIb3Vycyhob3VyKTtcbiAgICB0aGlzLmRpc2FibGVkLm1pbnV0ZXMgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkLnNvbWVNaW51dGVzID0gdGhpcy5taW51dGVzLmZpbHRlcihtaW51dGUgPT4gdGhpcy5taW51dGVPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQobWludXRlKSk7XG4gIH1cblxuICBwdWJsaWMgbWludXRlQ2hhbmdlZChtaW51dGU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkLm1pbnV0ZXMgfHwgdGhpcy5kaXNhYmxlZC5zb21lTWludXRlcy5pbmNsdWRlcyhtaW51dGUpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbWludXRlO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldE1pbnV0ZXMobWludXRlKTtcbiAgICB0aGlzLmRpc2FibGVkLnNlY29uZHMgPSBmYWxzZTtcbiAgICB0aGlzLmRpc2FibGVkLnNvbWVTZWNvbmRzID0gdGhpcy5zZWNvbmRzLmZpbHRlcihzZWNvbmQgPT4gdGhpcy5zZWNvbmRPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQoc2Vjb25kKSk7XG4gIH1cblxuICBwdWJsaWMgc2Vjb25kQ2hhbmdlZChzZWNvbmQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkLnNlY29uZHMgfHwgdGhpcy5kaXNhYmxlZC5zb21lU2Vjb25kcy5pbmNsdWRlcyhzZWNvbmQpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkU2Vjb25kID0gc2Vjb25kO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldFNlY29uZHMoc2Vjb25kKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICB2YWx1ZTogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICB2YWx1ZTogdGhpcy5pbml0aWFsRGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWREYXRlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uV2luZG93V2l0aENoYW5nZSh3aWR0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zaG93TW9iaWxlVWkgPSB3aWR0aCAmJiB3aWR0aCA8PSA1NTU7XG4gIH1cblxuICBwcml2YXRlIGhvdXJPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQoaG91cjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpKSB7XG4gICAgICByZXR1cm4gaG91ciA8IHRoaXMubWluaW11bURhdGUuZ2V0SG91cnMoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNYXhpbXVtRGF0ZSgpKSB7XG4gICAgICByZXR1cm4gaG91ciA+IHRoaXMubWF4aW11bURhdGUuZ2V0SG91cnMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG1pbnV0ZU9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChtaW51dGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNaW5pbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRIb3VycygpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldEhvdXJzKClcbiAgICApIHtcbiAgICAgIHJldHVybiBtaW51dGUgPCB0aGlzLm1pbmltdW1EYXRlLmdldE1pbnV0ZXMoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0SG91cnMoKVxuICAgICkge1xuICAgICAgcmV0dXJuIG1pbnV0ZSA+IHRoaXMubWF4aW11bURhdGUuZ2V0TWludXRlcygpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2Vjb25kT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKHNlY29uZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVJc1RoZU1pbmltdW1EYXRlKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0SG91cnMoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0TWludXRlcygpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldE1pbnV0ZXMoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHNlY29uZCA8IHRoaXMubWluaW11bURhdGUuZ2V0U2Vjb25kcygpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWF4aW11bURhdGUoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0TWludXRlcygpID09PSB0aGlzLm1heGltdW1EYXRlLmdldE1pbnV0ZXMoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHNlY29uZCA+IHRoaXMubWF4aW11bURhdGUuZ2V0U2Vjb25kcygpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbEVhY2hDb21wb25lbnRWYWx1ZShvcHRpb25zOiBEaWFsb2dEYXRlVGltZVBpY2tlck9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxEYXRlID0gb3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkgOiBudWxsO1xuICAgIHRoaXMubWluaW11bURhdGUgPSBvcHRpb25zLm1pbmltdW1EYXRlID8gbmV3IERhdGUob3B0aW9ucy5taW5pbXVtRGF0ZSkgOiBudWxsO1xuICAgIHRoaXMubWF4aW11bURhdGUgPSBvcHRpb25zLm1heGltdW1EYXRlID8gbmV3IERhdGUob3B0aW9ucy5tYXhpbXVtRGF0ZSkgOiBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gb3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkgOiBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZGF0ZUNoYW5nZWQob3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkgOiBudWxsKTtcbiAgICB0aGlzLmhvdXJDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpLmdldEhvdXJzKCkgOiAwKTtcbiAgICB0aGlzLm1pbnV0ZUNoYW5nZWQob3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkuZ2V0TWludXRlcygpIDogMCk7XG4gICAgdGhpcy5zZWNvbmRDaGFuZ2VkKG9wdGlvbnMuc2VsZWN0ZWREYXRlID8gbmV3IERhdGUob3B0aW9ucy5zZWxlY3RlZERhdGUpLmdldFNlY29uZHMoKSA6IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZERhdGVJc1RoZU1pbmltdW1EYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1pbmltdW1EYXRlICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0TW9udGgoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLm1pbmltdW1EYXRlLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdGVkRGF0ZUlzVGhlTWF4aW11bURhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWF4aW11bURhdGUgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXRNb250aCgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGlzdEhvdXJzTWludXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLmhvdXJzID0gdGhpcy5ob3Vycy5maWx0ZXIoaG91ciA9PiBob3VyICUgdGhpcy5zdGVwLmhvdXJzID09PSAwKTtcbiAgICB0aGlzLm1pbnV0ZXMgPSB0aGlzLm1pbnV0ZXMuZmlsdGVyKG1pbnV0ZSA9PiBtaW51dGUgJSB0aGlzLnN0ZXAubWludXRlcyA9PT0gMCk7XG4gICAgdGhpcy5zZWNvbmRzID0gdGhpcy5zZWNvbmRzLmZpbHRlcihzZWNvbmRlID0+IHNlY29uZGUgJSB0aGlzLnN0ZXAuc2Vjb25kcyA9PT0gMCk7XG4gIH1cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxkaXYgW25nQ2xhc3NdPVwic2hvd1NlY29uZHMgPyAnc2hvdy1zZWNvbmRzJyA6ICdoaWRlLXNlY29uZHMnXCIgY2xhc3M9XCJkYXRlLXRpbWUtcGlja2VyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhclwiPlxuICAgICAgICAgICAgPG1hdC1jYWxlbmRhclxuICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbmltdW1EYXRlXCJcbiAgICAgICAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhpbXVtRGF0ZVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImRhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgPjwvbWF0LWNhbGVuZGFyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHNob3dUaW1lKCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Vyc1wiICpuZ0lmPVwiIXNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1kZXNrdG9wLXRpbWUtcGlja2VyIFtkaXNhYmxlZF09XCJ7YWxsOiBkaXNhYmxlZC5ob3Vycywgc29tZU9wdGlvbnM6IGRpc2FibGVkLnNvbWVIb3Vyc31cIiAodmFsdWVDaGFuZ2UpPVwiaG91ckNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cImhvdXJzXCIgW3ZhbHVlXT1cInNlbGVjdGVkSG91clwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXJzXCIgKm5nSWY9XCJzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtbW9iaWxlLXRpbWUtcGlja2VyICh2YWx1ZUNoYW5nZSk9XCJob3VyQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwiaG91cnNcIiBbdmFsdWVdPVwic2VsZWN0ZWRIb3VyXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG91ci1hbmQtbWludXRlLXNlcGFyYXRvclwiICpuZ0lmPVwic2hvd01vYmlsZVVpXCI+OjwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWludXRlc1wiICpuZ0lmPVwiIXNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1kZXNrdG9wLXRpbWUtcGlja2VyIFtkaXNhYmxlZF09XCJ7YWxsOiBkaXNhYmxlZC5taW51dGVzLCBzb21lT3B0aW9uczogZGlzYWJsZWQuc29tZU1pbnV0ZXN9XCIgKHZhbHVlQ2hhbmdlKT1cIm1pbnV0ZUNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cIm1pbnV0ZXNcIiBbdmFsdWVdPVwic2VsZWN0ZWRNaW51dGVcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW51dGVzXCIgKm5nSWY9XCJzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtbW9iaWxlLXRpbWUtcGlja2VyICh2YWx1ZUNoYW5nZSk9XCJtaW51dGVDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJtaW51dGVzXCIgW3ZhbHVlXT1cInNlbGVjdGVkTWludXRlXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWludXRlLWFuZC1zZWNvbmQtc2VwYXJhdG9yXCIgKm5nSWY9XCJzaG93U2Vjb25kcyAmJiBzaG93TW9iaWxlVWlcIj46PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vjb25kc1wiICpuZ0lmPVwic2hvd1NlY29uZHMgJiYgIXNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1kZXNrdG9wLXRpbWUtcGlja2VyIFtkaXNhYmxlZF09XCJ7YWxsOiBkaXNhYmxlZC5zZWNvbmRzLCBzb21lT3B0aW9uczogZGlzYWJsZWQuc29tZVNlY29uZHN9XCIgKHZhbHVlQ2hhbmdlKT1cInNlY29uZENoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cInNlY29uZHNcIiBbdmFsdWVdPVwic2VsZWN0ZWRTZWNvbmRcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRzXCIgKm5nSWY9XCJzaG93U2Vjb25kcyAmJiBzaG93TW9iaWxlVWlcIj5cbiAgICAgICAgICAgICAgICA8Y2F1Y2EtbW9iaWxlLXRpbWUtcGlja2VyICh2YWx1ZUNoYW5nZSk9XCJzZWNvbmRDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJzZWNvbmRzXCIgW3ZhbHVlXT1cInNlbGVjdGVkU2Vjb25kXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoKVwiICpuZ0lmPVwic2hvd0NsZWFyQnV0dG9uXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dCdXR0b25JY29uc1wiPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgICAge3snbWF0ZXJpYWwuY2xlYXInIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0J1dHRvbkljb25zXCI+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAge3snbWF0ZXJpYWwuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjZGtGb2N1c0luaXRpYWwgKGNsaWNrKT1cImNvbmZpcm0oKVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93QnV0dG9uSWNvbnNcIj5jaGVjazwvbWF0LWljb24+XG4gICAgICAgIHt7J21hdGVyaWFsLm9rJyB8IHRyYW5zbGF0ZX19XG4gICAgPC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -25,7 +25,7 @@ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
25
25
  import * as i1$2 from '@angular/router';
26
26
  import { NavigationEnd } from '@angular/router';
27
27
  import { trigger, state, style, transition, animate } from '@angular/animations';
28
- import { MatNativeDateModule } from '@angular/material/core';
28
+ import { provideNativeDateAdapter } from '@angular/material/core';
29
29
  import * as i5$2 from '@angular/material/datepicker';
30
30
  import { MatDatepickerModule } from '@angular/material/datepicker';
31
31
  import * as i1$3 from '@angular/material/list';
@@ -1057,7 +1057,7 @@ function DialogDateTimePickerComponent_button_6_mat_icon_1_Template(rf, ctx) { i
1057
1057
  } }
1058
1058
  function DialogDateTimePickerComponent_button_6_Template(rf, ctx) { if (rf & 1) {
1059
1059
  const _r8 = i0.ɵɵgetCurrentView();
1060
- i0.ɵɵelementStart(0, "button", 6);
1060
+ i0.ɵɵelementStart(0, "button", 21);
1061
1061
  i0.ɵɵlistener("click", function DialogDateTimePickerComponent_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.clear()); });
1062
1062
  i0.ɵɵtemplate(1, DialogDateTimePickerComponent_button_6_mat_icon_1_Template, 2, 0, "mat-icon", 7);
1063
1063
  i0.ɵɵtext(2);
@@ -1242,7 +1242,7 @@ class DialogDateTimePickerComponent {
1242
1242
  static { this.ɵfac = function DialogDateTimePickerComponent_Factory(t) { return new (t || DialogDateTimePickerComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
1243
1243
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DialogDateTimePickerComponent, selectors: [["cauca-dialog-date-time-picker"]], hostBindings: function DialogDateTimePickerComponent_HostBindings(rf, ctx) { if (rf & 1) {
1244
1244
  i0.ɵɵlistener("resize", function DialogDateTimePickerComponent_resize_HostBindingHandler($event) { return ctx.onResize($event); }, false, i0.ɵɵresolveWindow);
1245
- } }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 15, vars: 14, consts: [["mat-dialog-content", ""], [1, "date-time-picker", 3, "ngClass"], [1, "calendar"], [3, "selectedChange", "minDate", "maxDate", "selected"], ["mat-dialog-actions", "", "align", "end"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["mat-stroked-button", "", 3, "click"], [4, "ngIf"], ["color", "primary", "mat-raised-button", "", "cdkFocusInitial", "", 3, "click"], ["class", "hours", 4, "ngIf"], ["class", "hour-and-minute-separator", 4, "ngIf"], ["class", "minutes", 4, "ngIf"], ["class", "minute-and-second-separator", 4, "ngIf"], ["class", "seconds", 4, "ngIf"], [1, "hours"], [3, "valueChange", "disabled", "options", "value"], [3, "valueChange", "options", "value"], [1, "hour-and-minute-separator"], [1, "minutes"], [1, "minute-and-second-separator"], [1, "seconds"]], template: function DialogDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
1245
+ } }, standalone: true, features: [i0.ɵɵProvidersFeature([provideNativeDateAdapter()]), i0.ɵɵStandaloneFeature], decls: 15, vars: 14, consts: [["mat-dialog-content", ""], [1, "date-time-picker", 3, "ngClass"], [1, "calendar"], [3, "selectedChange", "minDate", "maxDate", "selected"], ["mat-dialog-actions", "", "align", "end"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["color", "primary", "mat-stroked-button", "", 3, "click"], [4, "ngIf"], ["color", "primary", "mat-raised-button", "", "cdkFocusInitial", "", 3, "click"], ["class", "hours", 4, "ngIf"], ["class", "hour-and-minute-separator", 4, "ngIf"], ["class", "minutes", 4, "ngIf"], ["class", "minute-and-second-separator", 4, "ngIf"], ["class", "seconds", 4, "ngIf"], [1, "hours"], [3, "valueChange", "disabled", "options", "value"], [3, "valueChange", "options", "value"], [1, "hour-and-minute-separator"], [1, "minutes"], [1, "minute-and-second-separator"], [1, "seconds"], ["mat-stroked-button", "", 3, "click"]], template: function DialogDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
1246
1246
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "mat-calendar", 3);
1247
1247
  i0.ɵɵlistener("selectedChange", function DialogDateTimePickerComponent_Template_mat_calendar_selectedChange_3_listener($event) { return ctx.dateChanged($event); });
1248
1248
  i0.ɵɵelementEnd()();
@@ -1280,7 +1280,6 @@ class DialogDateTimePickerComponent {
1280
1280
  i0.ɵɵadvance();
1281
1281
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 12, "material.ok"), " ");
1282
1282
  } }, dependencies: [CommonModule, i2.NgClass, i2.NgIf, CaucaCoreForChildModule, i3.TranslatePipe, MatButtonModule, i4.MatButton, MatDatepickerModule, i5$2.MatCalendar, MatIconModule, i5.MatIcon, MatListModule,
1283
- MatNativeDateModule,
1284
1283
  MobileTimePickerComponent,
1285
1284
  DesktopTimePickerComponent], styles: ["div[mat-dialog-actions][_ngcontent-%COMP%]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions][_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:2px}.date-time-picker[_ngcontent-%COMP%]{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child mat-calendar[_ngcontent-%COMP%]{width:290px;height:350px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker[_ngcontent-%COMP%] .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar[_ngcontent-%COMP%]{grid-area:calendar}.hours[_ngcontent-%COMP%]{grid-area:hours}.minutes[_ngcontent-%COMP%]{grid-area:minutes}.seconds[_ngcontent-%COMP%]{grid-area:seconds}.hour-and-minute-separator[_ngcontent-%COMP%]{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator[_ngcontent-%COMP%]{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds[_ngcontent-%COMP%]{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker[_ngcontent-%COMP%]{grid-template-rows:auto auto;height:450px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-left:none}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(:first-child){height:70px}.date-time-picker[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}"] }); }
1286
1285
  }
@@ -1293,10 +1292,9 @@ class DialogDateTimePickerComponent {
1293
1292
  MatDatepickerModule,
1294
1293
  MatIconModule,
1295
1294
  MatListModule,
1296
- MatNativeDateModule,
1297
1295
  MobileTimePickerComponent,
1298
1296
  DesktopTimePickerComponent
1299
- ], template: "<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>", styles: ["div[mat-dialog-actions]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions] button{margin:2px}.date-time-picker{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker>div{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker>div:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker>div:first-child mat-calendar{width:290px;height:350px}.date-time-picker>div::-webkit-scrollbar{display:none}.date-time-picker ::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker ::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker ::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar{grid-area:calendar}.hours{grid-area:hours}.minutes{grid-area:minutes}.seconds{grid-area:seconds}.hour-and-minute-separator{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker{grid-template-rows:auto auto;height:450px}.date-time-picker>div{border-left:none}.date-time-picker>div:not(:first-child){height:70px}.date-time-picker>div:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}\n"] }]
1297
+ ], providers: [provideNativeDateAdapter()], template: "<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>", styles: ["div[mat-dialog-actions]{padding:8px;border-top:1px solid #ccc}div[mat-dialog-actions] button{margin:2px}.date-time-picker{display:grid;grid-template-areas:\"calendar hours minutes seconds\";height:350px;overflow:hidden;justify-content:center}.date-time-picker>div{overflow:auto;flex:1;max-width:50px;scrollbar-width:none;border-left:1px solid #ccc}.date-time-picker>div:first-child{flex:4;max-width:290px;border-left:none}.date-time-picker>div:first-child mat-calendar{width:290px;height:350px}.date-time-picker>div::-webkit-scrollbar{display:none}.date-time-picker ::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.date-time-picker ::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}.date-time-picker ::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.calendar{grid-area:calendar}.hours{grid-area:hours}.minutes{grid-area:minutes}.seconds{grid-area:seconds}.hour-and-minute-separator{grid-area:hour-and-minute-separator;display:flex;align-items:center;justify-content:center;font-weight:700}.minute-and-second-separator{grid-area:minute-and-second-separator;display:flex;align-items:center;justify-content:center;font-weight:700}@media only screen and (max-width: 555px){.show-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes minute-and-second-separator seconds .\";grid-template-columns:auto 40px 2px 40px 2px 40px auto}.hide-seconds{grid-template-areas:\"calendar calendar calendar calendar calendar\" \". hours hour-and-minute-separator minutes .\";grid-template-columns:auto 40px 2px 40px auto}.date-time-picker{grid-template-rows:auto auto;height:450px}.date-time-picker>div{border-left:none}.date-time-picker>div:not(:first-child){height:70px}.date-time-picker>div:first-child{overflow:initial;flex:4;max-width:290px;border-left:none}}\n"] }]
1300
1298
  }], () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1301
1299
  type: Inject,
1302
1300
  args: [MAT_DIALOG_DATA]
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-material.mjs","sources":["../../../projects/cauca-material/src/lib/cauca-material.service.ts","../../../projects/cauca-material/src/lib/cauca-material.component.ts","../../../projects/cauca-material/src/lib/cauca-material.component.html","../../../projects/cauca-material/src/lib/shared/models/simple-dialog-data.ts","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.html","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.ts","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.html","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.ts","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.html","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.html","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.ts","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.html","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.ts","../../../projects/cauca-material/src/lib/cauca-material.module.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/shared/models/menu-item.ts","../../../projects/cauca-material/src/public-api.ts","../../../projects/cauca-material/src/cauca-911-material.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaMaterialService {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'cauca-material',\n templateUrl: './cauca-material.component.html',\n styles: []\n})\nexport class CaucaMaterialComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","export class SimpleDialogData {\n public title: string;\n public message: string;\n public buttons: string[] = [];\n}\n","<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.message\"></div>\n</div>\n<div mat-dialog-actions *ngIf=\"data.buttons\">\n <button *ngFor=\"let label of data.buttons; let i = index\" mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n</div>","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { SimpleDialogData } from '../shared/models/simple-dialog-data';\n\n@Component({\n selector: 'cauca-simple-dialog',\n templateUrl: './cauca-simple-dialog.component.html',\n styleUrls: ['./cauca-simple-dialog.component.scss']\n})\nexport class CaucaSimpleDialogComponent{\n\n public constructor(\n private dialogRef: MatDialogRef<CaucaSimpleDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: SimpleDialogData,\n ) { }\n\n public onClick(buttonIndex: number): void {\n this.dialogRef.close(buttonIndex);\n }\n}\n","<button mat-raised-button (click)=\"openDialog($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <span *ngIf=\"text\">{{text}}</span>\n</button>\n<ng-container *ngIf=\"multiple; else notMultipleInput\">\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n</ng-container>\n\n<ng-template #notMultipleInput>\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n</ng-template>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateService } from '@cauca-911/core';\nimport { CaucaSimpleDialogComponent } from '../cauca-simple-dialog/cauca-simple-dialog.component';\n\n@Component({\n selector: 'cauca-input-file',\n templateUrl: './cauca-input-file.component.html',\n styleUrls: ['./cauca-input-file.component.scss']\n})\nexport class CaucaInputFileComponent implements OnInit {\n @ViewChild('file', {static: false})\n public file: ElementRef;\n @Output()\n public readend = new EventEmitter();\n @Input()\n public accept = '';\n @Input()\n public multiple = false;\n @Input()\n public icon = '';\n @Input()\n public text = '';\n\n private labels: any = {};\n\n public constructor(\n private translateService: TranslateService,\n private dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (!this.icon && !this.text) {\n this.translateService.get(\n ['material.select', 'material.dialogTitle', 'material.dialogMessage']\n ).subscribe((labels: any) => {\n this.labels = labels;\n this.text = labels['material.select'];\n });\n }\n }\n\n public onSelectFile(e: any): void {\n for (let i = 0, j = e.target.files.length; i < j; i++) {\n const file = e.target.files[i];\n const reader = new FileReader();\n reader.onerror = ((error: any) => this.onError(error));\n reader.onload = ((event: any) => this.onReadEnd(file, event));\n reader.readAsDataURL(file);\n }\n\n if (e.target.files.length) {\n this.dialog.open(CaucaSimpleDialogComponent, {\n width: '250px',\n disableClose: true,\n data: {\n title: this.labels['material.dialogTitle'],\n message: this.labels['material.dialogMessage']\n }\n });\n }\n }\n\n public openDialog(event: any): void {\n if (this.file) {\n this.file.nativeElement.click();\n }\n event.stopPropagation();\n }\n\n private onError(error: any): void {\n throw error;\n }\n\n private onReadEnd(file: any, e: any): void {\n this.dialog.closeAll();\n this.readend.emit({\n name: file.name,\n size: file.size,\n type: file.type,\n lastModifiedDate: file.lastModifiedDate,\n content: e.target['result'],\n file,\n });\n }\n}\n","<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n <mat-tab *ngFor=\"let lang of labels; let i = index\" [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n <mat-error *ngIf=\"forms[i].invalid\">{{getErrorMessage(i) | translate}}</mat-error>\n </mat-form-field>\n </mat-tab>\n</mat-tab-group>","import {Component, Input, OnInit} from '@angular/core';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {Configuration, CaucaCoreService, TranslateService} from '@cauca-911/core';\n\n@Component({\n selector: 'cauca-input-multiple-langue',\n templateUrl: './cauca-input-multiple-langue.component.html',\n styleUrls: ['./cauca-input-multiple-langue.component.scss']\n})\nexport class CaucaInputMultipleLangueComponent implements OnInit {\n @Input()\n public value: string[] = [];\n public config: Configuration;\n public forms: UntypedFormControl[] = [];\n public labels: string[] = [];\n public selectedIndex = 0;\n\n public constructor(\n coreService: CaucaCoreService,\n private translate: TranslateService,\n ) {\n this.config = coreService.getConfig();\n }\n\n public ngOnInit(): void {\n this.translate.get(this.config.languages).subscribe((labels: any) => {\n for (const i in labels) {\n if (labels[i]) {\n this.labels.push(labels[i]);\n }\n }\n this.initializeForms();\n });\n }\n\n public onTagChanged(tabIndex: number): void {\n console.log('cauca-material, onTabChanged', tabIndex);\n }\n\n public getErrorMessage(index: any): string {\n return this.forms[index].hasError('required') ? 'error.required' : '';\n }\n\n private initializeForms(): void {\n this.labels.forEach((item: any, index: number) => {\n this.forms[index] = new UntypedFormControl('', [Validators.required]);\n this.forms[index].setValue(this.value[index] || '');\n });\n }\n}\n","<h4 *ngFor=\"let menu of menuItems\" [class]=\"menu.activated ? 'selected' : ''\">\n <div (click)=\"goTo(menu.path, $event)\" class=\"menu\">\n <div *ngIf=\"menu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"menu.icon.filter !== undefined\" [icon]=\"menu.icon\"></fa-icon>\n <img *ngIf=\"menu.icon.filter === undefined\" [src]=\"menu.icon\" />\n </div>\n <div *ngIf=\"menu.label\" class=\"menu-caption\">\n <span>{{menu.label | translate}}</span>\n </div>\n </div>\n <div *ngIf=\"menu.childs.length && menu.activated\" class=\"submenu\">\n <div\n *ngFor=\"let submenu of menu.childs\"\n [class]=\"submenu.activated ? 'menu selected' : 'menu'\"\n (click)=\"goTo(submenu.path, $event)\">\n <div *ngIf=\"!submenu.icon\" class=\"menu-dot\">&bull;</div>\n <div *ngIf=\"submenu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"submenu.icon.filter !== undefined\" [icon]=\"submenu.icon\"></fa-icon>\n <img *ngIf=\"submenu.icon.filter === undefined\" [src]=\"submenu.icon\" />\n </div>\n <div *ngIf=\"submenu.label\" class=\"menu-caption\">\n <span>{{submenu.label | translate}}</span>\n </div>\n </div>\n </div>\n</h4>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {MenuItem} from '../shared/models/menu-item';\n\n@Component({\n selector: 'cauca-menu-vertical',\n templateUrl: './cauca-menu-vertical.component.html',\n styleUrls: ['./cauca-menu-vertical.component.scss']\n})\nexport class CaucaMenuVerticalComponent {\n @Output()\n public itemClick = new EventEmitter();\n @Input()\n public menuItems: MenuItem[] = [];\n\n public constructor(\n private router: Router,\n ) {\n this.router.events.subscribe((route: NavigationEnd) => {\n if (route instanceof NavigationEnd) {\n this.selectActiveRoute(route);\n }\n });\n }\n\n public goTo(path: string, e: any): void {\n this.router.navigate([path]);\n this.itemClick.emit();\n\n e.stopPropagation();\n }\n\n private selectActiveRoute(route: NavigationEnd): void {\n this.menuItems.forEach((menu: MenuItem) => {\n if (route.url) {\n menu.activated = (route.url === menu.path || (menu.childs.length && route.url.indexOf(menu.path) > -1));\n }\n\n menu.childs.forEach((subMenu: MenuItem) => {\n if (route.url) {\n subMenu.activated = (route.url === subMenu.path || route.urlAfterRedirects === subMenu.path);\n }\n });\n });\n }\n}\n","<div class=\"header\">\n <button mat-icon-button class=\"close\" (click)=\"hideOnMobile()\">\n <mat-icon>clear</mat-icon>\n </button>\n <ng-content select=\"[header]\"></ng-content>\n</div>\n<div class=\"content\">\n <ng-content select=\"[beforeMenu]\"></ng-content>\n <cauca-menu-vertical #menu [menuItems]=\"menuItems\" (itemClick)=\"onMenuItemClick()\"></cauca-menu-vertical>\n <ng-content select=\"[afterMenu]\"></ng-content>\n</div>\n<div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n<div *ngIf=\"version\" class=\"version\">\n <div class=\"double-arrow\" (click)=\"onToggleCollapse()\"></div>\n <span class=\"full\">{{'material.version' | translate}} {{version}}</span>\n <span class=\"abbr\">{{version}}</span>\n</div>\n","import { Component, ElementRef, HostListener, Input } from '@angular/core';\nimport { MenuItem } from '../shared/models/menu-item';\n\n@Component({\n selector: 'cauca-menu-sidebar',\n templateUrl: './cauca-menu-sidebar.component.html',\n styleUrls: ['./cauca-menu-sidebar.component.scss']\n})\nexport class CaucaMenuSidebarComponent {\n @Input()\n public menuItems: MenuItem[] = [];\n @Input()\n public version = '';\n\n private hostElement: HTMLDivElement;\n private keepMenuExpanded = false;\n\n public constructor(element: ElementRef) {\n this.hostElement = element.nativeElement as HTMLDivElement;\n this.hostElement.addEventListener('mouseover', (e: any) => this.onMouseOver(e));\n this.hostElement.addEventListener('mouseout', (e: any) => this.onMouseOut(e));\n\n this.setDisplayMenu();\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(_e: any): void {\n this.setDisplayMenu();\n }\n\n public onMenuItemClick(): void {\n if (window.innerWidth < 1000) {\n this.hideOnMobile();\n }\n }\n\n public hideOnMobile(): void {\n this.hostElement.classList.remove('mobile');\n this.hostElement.classList.add('hidden');\n }\n\n public showOnMobile(): void {\n this.hostElement.classList.remove('hidden');\n this.hostElement.classList.add('mobile');\n }\n\n public onToggleCollapse(): void {\n if (this.keepMenuExpanded) {\n this.onCollapseMenu();\n this.hostElement.classList.remove('keepExpanded');\n } else {\n this.onExpandedMenu();\n this.hostElement.classList.add('keepExpanded');\n }\n\n this.keepMenuExpanded = !this.keepMenuExpanded;\n localStorage.setItem('cauca-menu-status', this.keepMenuExpanded ? 'expanded' : 'collapsed');\n }\n\n private setDisplayMenu(): void {\n this.hostElement.className = '';\n\n if (window.innerWidth < 1000) {\n this.hostElement.classList.add('hidden');\n } else {\n if (localStorage.getItem('cauca-menu-status') === 'expanded') {\n this.keepMenuExpanded = true;\n this.hostElement.classList.add('keepExpanded');\n }\n\n this.hostElement.classList.add(this.keepMenuExpanded ? 'expanded' : 'collapsed');\n }\n }\n\n private onMouseOver(e: any): void {\n if (!this.keepMenuExpanded) {\n this.onExpandedMenu();\n }\n\n e.stopPropagation();\n }\n\n private onMouseOut(e: any): void {\n if (!this.keepMenuExpanded) {\n this.onCollapseMenu();\n }\n\n e.stopPropagation();\n }\n\n private onExpandedMenu(): void {\n if (window.innerWidth >= 1000) {\n this.hostElement.classList.remove('collapsed');\n this.hostElement.classList.add('expanded');\n }\n }\n\n private onCollapseMenu(): void {\n if (window.innerWidth >= 1000) {\n this.hostElement.classList.remove('expanded');\n this.hostElement.classList.add('collapsed');\n }\n }\n}\n","<div #container class=\"slideshow\">\n <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n <img [src]=\"url\" />\n </div>\n</div>","import { Component, OnInit, ElementRef, Input, ViewChild } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'cauca-slideshow',\n templateUrl: './cauca-slideshow.component.html',\n styleUrls: ['./cauca-slideshow.component.scss'],\n animations: [\n trigger('slideUpDown', [\n state('in', style({ transform: 'translateY(0%)' })),\n state('out', style({ transform: 'translateY(-100%)' })),\n transition('in => out', [\n animate('500ms ease-in')\n ]),\n transition('out => in', [\n style({ transform: 'translateY(100%)' }),\n animate('500ms ease-in')\n ]),\n ]),\n trigger('slideLeftRight', [\n state('in', style({ transform: 'translateX(0%)' })),\n state('out', style({ transform: 'translateX(-100%)' })),\n transition('in => out', [\n animate('500ms ease-in')\n ]),\n transition('out => in', [\n style({ transform: 'translateX(100%)' }),\n animate('500ms ease-in')\n ]),\n ]),\n ],\n})\nexport class CaucaSlideshowComponent implements OnInit {\n @ViewChild('container', { static: true })\n public container: ElementRef;\n @Input()\n public height = '150px';\n @Input()\n public autoPlay = true;\n\n private timer = null;\n private items = [];\n private states = [];\n private selectedIndex = 0;\n\n @Input()\n public set images(list: string[]) {\n this.items = list;\n this.restart();\n }\n public get images(): string[] {\n return this.items;\n }\n\n public ngOnInit(): void {\n this.container.nativeElement.style.height = this.height;\n this.container.nativeElement.style.width = '100%';\n }\n\n public getState(index: number): string {\n if (this.states[index]) {\n return this.states[index];\n }\n\n return (this.selectedIndex === index ? 'in' : 'out');\n }\n\n public restart(): void {\n if (this.timer) {\n window.clearInterval(this.timer);\n }\n if (this.images && this.images.length) {\n this.timer = window.setInterval(() => this.changed('next'), 5000);\n }\n }\n\n public next(): void {\n if (this.selectedIndex < this.items.length - 1) {\n this.selectedIndex++;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private changed(action: string): void {\n this.states[this.selectedIndex] = 'out';\n this[action]();\n this.states[this.selectedIndex] = 'in';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { CaucaMaterialComponent } from './cauca-material.component';\nimport { CaucaInputFileComponent } from './cauca-input-file/cauca-input-file.component';\nimport { CaucaInputMultipleLangueComponent } from './cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nimport { CaucaMenuSidebarComponent } from './cauca-menu-sidebar/cauca-menu-sidebar.component';\nimport { CaucaMenuVerticalComponent } from './cauca-menu-vertical/cauca-menu-vertical.component';\nimport { CaucaSimpleDialogComponent } from './cauca-simple-dialog/cauca-simple-dialog.component';\nimport { CaucaSlideshowComponent } from './cauca-slideshow/cauca-slideshow.component';\n\n@NgModule({\n declarations: [\n CaucaMaterialComponent,\n CaucaInputFileComponent,\n CaucaInputMultipleLangueComponent,\n CaucaMenuSidebarComponent,\n CaucaMenuVerticalComponent,\n CaucaSimpleDialogComponent,\n CaucaSlideshowComponent,\n ],\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n FontAwesomeModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatTabsModule,\n MatDialogModule,\n ],\n exports: [\n CaucaMaterialComponent,\n CaucaInputFileComponent,\n CaucaInputMultipleLangueComponent,\n CaucaMenuSidebarComponent,\n CaucaMenuVerticalComponent,\n CaucaSimpleDialogComponent,\n CaucaSlideshowComponent,\n ],\n})\nexport class CaucaMaterialModule { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'cauca-mobile-time-picker',\n standalone: true,\n imports: [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule\n ],\n templateUrl: './mobile-time-picker.component.html',\n styleUrl: './mobile-time-picker.component.scss'\n})\nexport class MobileTimePickerComponent {\n @Input({required: true}) public value: number;\n @Input({ required: true }) public options: number[];\n\n @Output() public valueChange = new EventEmitter<number>();\n\n public valueUp(): void {\n const currentIndex = this.options.indexOf(this.value);\n let newValue = 0;\n if (currentIndex === this.options.length - 1) {\n newValue = this.options[0];\n } else {\n newValue = this.options[currentIndex + 1];\n }\n\n this.valueChange.emit(newValue);\n }\n\n public valueDown(): void {\n const currentIndex = this.options.indexOf(this.value);\n let newValue = 0;\n if (currentIndex === 0) {\n newValue = this.options[this.options.length - 1];\n } else {\n newValue = this.options[currentIndex - 1];\n }\n\n this.valueChange.emit(newValue);\n }\n}\n","<button mat-icon-button (click)=\"valueUp()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n</button>\n<div>\n{{(value < 10 ? '0' : '' ) + value}}\n</div>\n<button mat-icon-button (click)=\"valueDown()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n</button>\n","<mat-list [disabled]=\"disabled?.all\">\n @for (option of options; track option) {\n <mat-list-item [activated]=\"value === option\" [disabled]=\"disabled?.someOptions.includes(option)\"\n (click)=\"valueChange.emit(option)\">{{(option < 10 ? '0' : '' ) + option}}</mat-list-item>\n }\n</mat-list>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\n@Component({\n selector: 'cauca-desktop-time-picker',\n standalone: true,\n imports: [\n MatListModule\n ],\n templateUrl: './desktop-time-picker.component.html',\n styleUrl: './desktop-time-picker.component.scss'\n})\nexport class DesktopTimePickerComponent {\n @Input() public options: number[] = [];\n @Input() public value: number;\n @Input() public disabled: DesktopTimePickerComponentDisabled;\n\n @Output() public valueChange = new EventEmitter<number>();\n}\n\nexport interface DesktopTimePickerComponentDisabled {\n all: boolean;\n someOptions: number[];\n}","<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>","import { Component, HostListener, Inject, OnInit, signal, WritableSignal } from '@angular/core';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatListModule } from '@angular/material/list';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerDataDisabled, DialogDateTimePickerDataStep } from '../../models/dialog-date-time-picker-data';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';\nimport { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';\n\n@Component({\n selector: 'cauca-dialog-date-time-picker',\n standalone: true,\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n MatButtonModule,\n MatDatepickerModule,\n MatIconModule,\n MatListModule,\n MatNativeDateModule,\n MobileTimePickerComponent,\n DesktopTimePickerComponent\n ],\n templateUrl: './dialog-date-time-picker.component.html',\n styleUrl: './dialog-date-time-picker.component.scss'\n})\nexport class DialogDateTimePickerComponent implements OnInit {\n public selectedHour = 0;\n public selectedMinute = 0;\n public selectedSecond = 0;\n public initialDate: Date = null;\n public selectedDate: Date = null;\n public minimumDate = new Date();\n public maximumDate = new Date();\n public showSeconds: boolean = false;\n public showClearButton: boolean = true;\n public showButtonIcons: boolean = true;\n\n public hours = [...Array(24).keys()];\n public minutes = [...Array(60).keys()];\n public seconds = [...Array(60).keys()];\n public showMobileUi: boolean = false;\n\n public showTime: WritableSignal<boolean> = signal(true);\n\n public disabled: DialogDateTimePickerDataDisabled = {\n hours: true,\n someHours: [],\n minutes: true,\n someMinutes: [],\n seconds: true,\n someSeconds: [],\n };\n\n private step: DialogDateTimePickerDataStep = {\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n public constructor(\n public dialogRef: MatDialogRef<DialogDateTimePickerComponent>,\n @Inject(MAT_DIALOG_DATA) public options: DialogDateTimePickerOptions\n ) {\n this.step = options.step || this.step;\n this.showSeconds = options.showSeconds;\n this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;\n this.showClearButton = options.showClearButton ?? this.showClearButton;\n this.showTime.set(options.showTime ?? true);\n this.setListHoursMinutes();\n this.initialEachComponentValue(options);\n }\n\n public ngOnInit(): void {\n this.onWindowWithChange(window.innerWidth);\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.onWindowWithChange(event.target.innerWidth);\n }\n\n public dateChanged(date: Date): void {\n if (date) {\n this.selectedDate = date;\n this.selectedDate.setHours(this.selectedHour);\n this.selectedDate.setMinutes(this.selectedMinute);\n this.selectedDate.setSeconds(this.selectedSecond);\n this.disabled.hours = false;\n this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));\n } else {\n this.selectedDate = null;\n this.disabled.hours = true;\n }\n }\n\n public hourChanged(hour: number): void {\n if (this.disabled.hours || this.disabled.someHours.includes(hour)) return;\n\n this.selectedHour = hour;\n this.selectedDate.setHours(hour);\n this.disabled.minutes = false;\n this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));\n }\n\n public minuteChanged(minute: number): void {\n if (this.disabled.minutes || this.disabled.someMinutes.includes(minute)) return;\n\n this.selectedMinute = minute;\n this.selectedDate.setMinutes(minute);\n this.disabled.seconds = false;\n this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));\n }\n\n public secondChanged(second: number): void {\n if (this.disabled.seconds || this.disabled.someSeconds.includes(second)) return;\n\n this.selectedSecond = second;\n this.selectedDate.setSeconds(second);\n }\n\n public clear(): void {\n this.dialogRef.close({\n value: null\n });\n }\n\n public cancel(): void {\n this.dialogRef.close({\n value: this.initialDate\n });\n }\n\n public confirm(): void {\n this.dialogRef.close({\n value: this.selectedDate\n });\n }\n\n private onWindowWithChange(width: number): void {\n this.showMobileUi = width && width <= 555;\n }\n\n private hourOfSelectedDateIsDisabled(hour: number): boolean {\n if (this.selectedDateIsTheMinimumDate()) {\n return hour < this.minimumDate.getHours();\n } else if (this.selectedDateIsTheMaximumDate()) {\n return hour > this.maximumDate.getHours();\n }\n\n return false;\n }\n\n private minuteOfSelectedDateIsDisabled(minute: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours()\n ) {\n return minute < this.minimumDate.getMinutes();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getHours() === this.maximumDate.getHours()\n ) {\n return minute > this.maximumDate.getMinutes();\n }\n\n return false;\n }\n\n private secondOfSelectedDateIsDisabled(second: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours() &&\n this.selectedDate.getMinutes() === this.minimumDate.getMinutes()\n ) {\n return second < this.minimumDate.getSeconds();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getMinutes() === this.maximumDate.getMinutes()\n ) {\n return second > this.maximumDate.getSeconds();\n }\n\n return false;\n }\n\n private initialEachComponentValue(options: DialogDateTimePickerOptions): void {\n this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;\n this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;\n this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;\n this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();\n this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);\n this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);\n this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);\n this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);\n }\n\n private selectedDateIsTheMinimumDate(): boolean {\n return (\n this.minimumDate &&\n this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.minimumDate.getMonth() &&\n this.selectedDate.getDate() === this.minimumDate.getDate()\n );\n }\n\n private selectedDateIsTheMaximumDate(): boolean {\n return (\n this.maximumDate &&\n this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.maximumDate.getMonth() &&\n this.selectedDate.getDate() === this.maximumDate.getDate()\n );\n }\n\n private setListHoursMinutes(): void {\n this.hours = this.hours.filter(hour => hour % this.step.hours === 0);\n this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);\n this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);\n }\n}\n","<mat-form-field>\n @if (label) {\n <mat-label>{{ translateLabel ? (label | translate) : label }}</mat-label>\n }\n <input matInput [value]=\"stringDate\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>","import { Component, ElementRef, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { DialogPosition, MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerValue } from './models/dialog-date-time-picker-data';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DatePipe } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-date-time-picker',\n standalone: true,\n imports: [\n TranslateModule,\n MatButtonModule,\n MatIconModule,\n MatInputModule,\n MatFormFieldModule\n ],\n providers: [\n DatePipe,\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => CaucaDateTimePickerComponent),\n }\n ],\n templateUrl: './cauca-date-time-picker.component.html',\n styleUrl: './cauca-date-time-picker.component.scss'\n})\nexport class CaucaDateTimePickerComponent implements ControlValueAccessor {\n @Input() public showTime: boolean = true;\n @Input() public label: string = '';\n @Input() public translateLabel: boolean = true;\n @Input() public stepHours = 1;\n @Input() public stepMinutes = 1;\n @Input() public stepSecondes = 1;\n @Input() public minimumDate: Date = null;\n @Input() public maximumDate: Date = null;\n @Input() public showSeconds: boolean = false;\n @Input() public showFormat: string = 'yyyy/MM/dd, HH:mm';\n @Input() public showClearButton: boolean = true;\n @Input() public showButtonIcons: boolean = true;\n @Output() public selectedChange = new EventEmitter<Date>();\n\n public stringDate: string = '';\n\n private selectedDate: Date;\n\n public constructor(\n private elementRef: ElementRef,\n private dialog: MatDialog,\n private datePipe: DatePipe,\n ) {\n }\n\n @Input()\n public set value(value: Date) {\n if (value) {\n this.stringDate = this.stringifyDate(value);\n this.selectedDate = value;\n }\n }\n\n public showDialog(): void {\n const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {\n position: this.getDialogPosition(),\n data: this.getDateTimePickerOptions(),\n });\n\n dialogRef.afterClosed().subscribe((data: DialogDateTimePickerValue) => {\n if (data) {\n this.stringDate = this.stringifyDate(data.value);\n this.selectedDate = data.value;\n this.selectedChange.emit(data.value);\n this.onChange(data.value);\n }\n });\n }\n\n public writeValue(date: Date): void {\n this.value = date;\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public onChange = (value: Date): Date => value;\n\n public onTouched = (): void => {/* This method needs to be empty */ };\n\n private getDateTimePickerOptions(): DialogDateTimePickerOptions {\n return {\n selectedDate: this.selectedDate,\n minimumDate: this.minimumDate,\n maximumDate: this.maximumDate,\n showSeconds: this.showSeconds,\n showClearButton: this.showClearButton,\n showButtonIcons: this.showButtonIcons,\n showTime: this.showTime,\n step: {\n hours: this.stepHours,\n minutes: this.stepMinutes,\n seconds: this.stepSecondes,\n }\n };\n }\n private stringifyDate(date: Date): string {\n return this.datePipe.transform(date, this.showFormat);\n }\n\n private getDialogPosition(): DialogPosition {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const top = rect.y + rect.height - 22;\n const bottom = window.innerHeight - rect.y;\n const minimumDialogHeight = 400;\n const minimumScreenSize = 800;\n\n if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {\n return null;\n } else if (window.innerHeight > (top + minimumDialogHeight)) {\n return {\n left: `${rect.x}px`,\n top: `${top}px`,\n };\n }\n\n return {\n left: `${rect.x}px`,\n bottom: `${bottom}px`,\n };\n }\n}\n","export class MenuItem {\n public activated: boolean;\n public childs: MenuItem[] = [];\n\n public constructor(\n public label: string,\n public path: string,\n public icon: string | string[] = '',\n ) {\n }\n}\n","/*\n * Public API Surface of cauca-material\n */\n\nexport * from './lib/cauca-material.service';\nexport * from './lib/cauca-material.component';\nexport * from './lib/cauca-material.module';\nexport * from './lib/cauca-date-time-picker/cauca-date-time-picker.component';\nexport * from './lib/cauca-input-file/cauca-input-file.component';\nexport * from './lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nexport * from './lib/cauca-menu-sidebar/cauca-menu-sidebar.component';\nexport * from './lib/cauca-menu-vertical/cauca-menu-vertical.component';\nexport * from './lib/cauca-simple-dialog/cauca-simple-dialog.component';\nexport * from './lib/cauca-slideshow/cauca-slideshow.component';\n\nexport { MenuItem } from './lib/shared/models/menu-item';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-material.mjs","sources":["../../../projects/cauca-material/src/lib/cauca-material.service.ts","../../../projects/cauca-material/src/lib/cauca-material.component.ts","../../../projects/cauca-material/src/lib/cauca-material.component.html","../../../projects/cauca-material/src/lib/shared/models/simple-dialog-data.ts","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.html","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.ts","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.html","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.ts","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.html","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.html","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.ts","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.html","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.ts","../../../projects/cauca-material/src/lib/cauca-material.module.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/shared/models/menu-item.ts","../../../projects/cauca-material/src/public-api.ts","../../../projects/cauca-material/src/cauca-911-material.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaMaterialService {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'cauca-material',\n templateUrl: './cauca-material.component.html',\n styles: []\n})\nexport class CaucaMaterialComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","export class SimpleDialogData {\n public title: string;\n public message: string;\n public buttons: string[] = [];\n}\n","<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.message\"></div>\n</div>\n<div mat-dialog-actions *ngIf=\"data.buttons\">\n <button *ngFor=\"let label of data.buttons; let i = index\" mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n</div>","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { SimpleDialogData } from '../shared/models/simple-dialog-data';\n\n@Component({\n selector: 'cauca-simple-dialog',\n templateUrl: './cauca-simple-dialog.component.html',\n styleUrls: ['./cauca-simple-dialog.component.scss']\n})\nexport class CaucaSimpleDialogComponent{\n\n public constructor(\n private dialogRef: MatDialogRef<CaucaSimpleDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: SimpleDialogData,\n ) { }\n\n public onClick(buttonIndex: number): void {\n this.dialogRef.close(buttonIndex);\n }\n}\n","<button mat-raised-button (click)=\"openDialog($event)\">\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n <span *ngIf=\"text\">{{text}}</span>\n</button>\n<ng-container *ngIf=\"multiple; else notMultipleInput\">\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n</ng-container>\n\n<ng-template #notMultipleInput>\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n</ng-template>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateService } from '@cauca-911/core';\nimport { CaucaSimpleDialogComponent } from '../cauca-simple-dialog/cauca-simple-dialog.component';\n\n@Component({\n selector: 'cauca-input-file',\n templateUrl: './cauca-input-file.component.html',\n styleUrls: ['./cauca-input-file.component.scss']\n})\nexport class CaucaInputFileComponent implements OnInit {\n @ViewChild('file', {static: false})\n public file: ElementRef;\n @Output()\n public readend = new EventEmitter();\n @Input()\n public accept = '';\n @Input()\n public multiple = false;\n @Input()\n public icon = '';\n @Input()\n public text = '';\n\n private labels: any = {};\n\n public constructor(\n private translateService: TranslateService,\n private dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (!this.icon && !this.text) {\n this.translateService.get(\n ['material.select', 'material.dialogTitle', 'material.dialogMessage']\n ).subscribe((labels: any) => {\n this.labels = labels;\n this.text = labels['material.select'];\n });\n }\n }\n\n public onSelectFile(e: any): void {\n for (let i = 0, j = e.target.files.length; i < j; i++) {\n const file = e.target.files[i];\n const reader = new FileReader();\n reader.onerror = ((error: any) => this.onError(error));\n reader.onload = ((event: any) => this.onReadEnd(file, event));\n reader.readAsDataURL(file);\n }\n\n if (e.target.files.length) {\n this.dialog.open(CaucaSimpleDialogComponent, {\n width: '250px',\n disableClose: true,\n data: {\n title: this.labels['material.dialogTitle'],\n message: this.labels['material.dialogMessage']\n }\n });\n }\n }\n\n public openDialog(event: any): void {\n if (this.file) {\n this.file.nativeElement.click();\n }\n event.stopPropagation();\n }\n\n private onError(error: any): void {\n throw error;\n }\n\n private onReadEnd(file: any, e: any): void {\n this.dialog.closeAll();\n this.readend.emit({\n name: file.name,\n size: file.size,\n type: file.type,\n lastModifiedDate: file.lastModifiedDate,\n content: e.target['result'],\n file,\n });\n }\n}\n","<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n <mat-tab *ngFor=\"let lang of labels; let i = index\" [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n <mat-error *ngIf=\"forms[i].invalid\">{{getErrorMessage(i) | translate}}</mat-error>\n </mat-form-field>\n </mat-tab>\n</mat-tab-group>","import {Component, Input, OnInit} from '@angular/core';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {Configuration, CaucaCoreService, TranslateService} from '@cauca-911/core';\n\n@Component({\n selector: 'cauca-input-multiple-langue',\n templateUrl: './cauca-input-multiple-langue.component.html',\n styleUrls: ['./cauca-input-multiple-langue.component.scss']\n})\nexport class CaucaInputMultipleLangueComponent implements OnInit {\n @Input()\n public value: string[] = [];\n public config: Configuration;\n public forms: UntypedFormControl[] = [];\n public labels: string[] = [];\n public selectedIndex = 0;\n\n public constructor(\n coreService: CaucaCoreService,\n private translate: TranslateService,\n ) {\n this.config = coreService.getConfig();\n }\n\n public ngOnInit(): void {\n this.translate.get(this.config.languages).subscribe((labels: any) => {\n for (const i in labels) {\n if (labels[i]) {\n this.labels.push(labels[i]);\n }\n }\n this.initializeForms();\n });\n }\n\n public onTagChanged(tabIndex: number): void {\n console.log('cauca-material, onTabChanged', tabIndex);\n }\n\n public getErrorMessage(index: any): string {\n return this.forms[index].hasError('required') ? 'error.required' : '';\n }\n\n private initializeForms(): void {\n this.labels.forEach((item: any, index: number) => {\n this.forms[index] = new UntypedFormControl('', [Validators.required]);\n this.forms[index].setValue(this.value[index] || '');\n });\n }\n}\n","<h4 *ngFor=\"let menu of menuItems\" [class]=\"menu.activated ? 'selected' : ''\">\n <div (click)=\"goTo(menu.path, $event)\" class=\"menu\">\n <div *ngIf=\"menu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"menu.icon.filter !== undefined\" [icon]=\"menu.icon\"></fa-icon>\n <img *ngIf=\"menu.icon.filter === undefined\" [src]=\"menu.icon\" />\n </div>\n <div *ngIf=\"menu.label\" class=\"menu-caption\">\n <span>{{menu.label | translate}}</span>\n </div>\n </div>\n <div *ngIf=\"menu.childs.length && menu.activated\" class=\"submenu\">\n <div\n *ngFor=\"let submenu of menu.childs\"\n [class]=\"submenu.activated ? 'menu selected' : 'menu'\"\n (click)=\"goTo(submenu.path, $event)\">\n <div *ngIf=\"!submenu.icon\" class=\"menu-dot\">&bull;</div>\n <div *ngIf=\"submenu.icon\" class=\"menu-icon\">\n <fa-icon *ngIf=\"submenu.icon.filter !== undefined\" [icon]=\"submenu.icon\"></fa-icon>\n <img *ngIf=\"submenu.icon.filter === undefined\" [src]=\"submenu.icon\" />\n </div>\n <div *ngIf=\"submenu.label\" class=\"menu-caption\">\n <span>{{submenu.label | translate}}</span>\n </div>\n </div>\n </div>\n</h4>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {MenuItem} from '../shared/models/menu-item';\n\n@Component({\n selector: 'cauca-menu-vertical',\n templateUrl: './cauca-menu-vertical.component.html',\n styleUrls: ['./cauca-menu-vertical.component.scss']\n})\nexport class CaucaMenuVerticalComponent {\n @Output()\n public itemClick = new EventEmitter();\n @Input()\n public menuItems: MenuItem[] = [];\n\n public constructor(\n private router: Router,\n ) {\n this.router.events.subscribe((route: NavigationEnd) => {\n if (route instanceof NavigationEnd) {\n this.selectActiveRoute(route);\n }\n });\n }\n\n public goTo(path: string, e: any): void {\n this.router.navigate([path]);\n this.itemClick.emit();\n\n e.stopPropagation();\n }\n\n private selectActiveRoute(route: NavigationEnd): void {\n this.menuItems.forEach((menu: MenuItem) => {\n if (route.url) {\n menu.activated = (route.url === menu.path || (menu.childs.length && route.url.indexOf(menu.path) > -1));\n }\n\n menu.childs.forEach((subMenu: MenuItem) => {\n if (route.url) {\n subMenu.activated = (route.url === subMenu.path || route.urlAfterRedirects === subMenu.path);\n }\n });\n });\n }\n}\n","<div class=\"header\">\n <button mat-icon-button class=\"close\" (click)=\"hideOnMobile()\">\n <mat-icon>clear</mat-icon>\n </button>\n <ng-content select=\"[header]\"></ng-content>\n</div>\n<div class=\"content\">\n <ng-content select=\"[beforeMenu]\"></ng-content>\n <cauca-menu-vertical #menu [menuItems]=\"menuItems\" (itemClick)=\"onMenuItemClick()\"></cauca-menu-vertical>\n <ng-content select=\"[afterMenu]\"></ng-content>\n</div>\n<div class=\"footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n<div *ngIf=\"version\" class=\"version\">\n <div class=\"double-arrow\" (click)=\"onToggleCollapse()\"></div>\n <span class=\"full\">{{'material.version' | translate}} {{version}}</span>\n <span class=\"abbr\">{{version}}</span>\n</div>\n","import { Component, ElementRef, HostListener, Input } from '@angular/core';\nimport { MenuItem } from '../shared/models/menu-item';\n\n@Component({\n selector: 'cauca-menu-sidebar',\n templateUrl: './cauca-menu-sidebar.component.html',\n styleUrls: ['./cauca-menu-sidebar.component.scss']\n})\nexport class CaucaMenuSidebarComponent {\n @Input()\n public menuItems: MenuItem[] = [];\n @Input()\n public version = '';\n\n private hostElement: HTMLDivElement;\n private keepMenuExpanded = false;\n\n public constructor(element: ElementRef) {\n this.hostElement = element.nativeElement as HTMLDivElement;\n this.hostElement.addEventListener('mouseover', (e: any) => this.onMouseOver(e));\n this.hostElement.addEventListener('mouseout', (e: any) => this.onMouseOut(e));\n\n this.setDisplayMenu();\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(_e: any): void {\n this.setDisplayMenu();\n }\n\n public onMenuItemClick(): void {\n if (window.innerWidth < 1000) {\n this.hideOnMobile();\n }\n }\n\n public hideOnMobile(): void {\n this.hostElement.classList.remove('mobile');\n this.hostElement.classList.add('hidden');\n }\n\n public showOnMobile(): void {\n this.hostElement.classList.remove('hidden');\n this.hostElement.classList.add('mobile');\n }\n\n public onToggleCollapse(): void {\n if (this.keepMenuExpanded) {\n this.onCollapseMenu();\n this.hostElement.classList.remove('keepExpanded');\n } else {\n this.onExpandedMenu();\n this.hostElement.classList.add('keepExpanded');\n }\n\n this.keepMenuExpanded = !this.keepMenuExpanded;\n localStorage.setItem('cauca-menu-status', this.keepMenuExpanded ? 'expanded' : 'collapsed');\n }\n\n private setDisplayMenu(): void {\n this.hostElement.className = '';\n\n if (window.innerWidth < 1000) {\n this.hostElement.classList.add('hidden');\n } else {\n if (localStorage.getItem('cauca-menu-status') === 'expanded') {\n this.keepMenuExpanded = true;\n this.hostElement.classList.add('keepExpanded');\n }\n\n this.hostElement.classList.add(this.keepMenuExpanded ? 'expanded' : 'collapsed');\n }\n }\n\n private onMouseOver(e: any): void {\n if (!this.keepMenuExpanded) {\n this.onExpandedMenu();\n }\n\n e.stopPropagation();\n }\n\n private onMouseOut(e: any): void {\n if (!this.keepMenuExpanded) {\n this.onCollapseMenu();\n }\n\n e.stopPropagation();\n }\n\n private onExpandedMenu(): void {\n if (window.innerWidth >= 1000) {\n this.hostElement.classList.remove('collapsed');\n this.hostElement.classList.add('expanded');\n }\n }\n\n private onCollapseMenu(): void {\n if (window.innerWidth >= 1000) {\n this.hostElement.classList.remove('expanded');\n this.hostElement.classList.add('collapsed');\n }\n }\n}\n","<div #container class=\"slideshow\">\n <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n <img [src]=\"url\" />\n </div>\n</div>","import { Component, OnInit, ElementRef, Input, ViewChild } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n selector: 'cauca-slideshow',\n templateUrl: './cauca-slideshow.component.html',\n styleUrls: ['./cauca-slideshow.component.scss'],\n animations: [\n trigger('slideUpDown', [\n state('in', style({ transform: 'translateY(0%)' })),\n state('out', style({ transform: 'translateY(-100%)' })),\n transition('in => out', [\n animate('500ms ease-in')\n ]),\n transition('out => in', [\n style({ transform: 'translateY(100%)' }),\n animate('500ms ease-in')\n ]),\n ]),\n trigger('slideLeftRight', [\n state('in', style({ transform: 'translateX(0%)' })),\n state('out', style({ transform: 'translateX(-100%)' })),\n transition('in => out', [\n animate('500ms ease-in')\n ]),\n transition('out => in', [\n style({ transform: 'translateX(100%)' }),\n animate('500ms ease-in')\n ]),\n ]),\n ],\n})\nexport class CaucaSlideshowComponent implements OnInit {\n @ViewChild('container', { static: true })\n public container: ElementRef;\n @Input()\n public height = '150px';\n @Input()\n public autoPlay = true;\n\n private timer = null;\n private items = [];\n private states = [];\n private selectedIndex = 0;\n\n @Input()\n public set images(list: string[]) {\n this.items = list;\n this.restart();\n }\n public get images(): string[] {\n return this.items;\n }\n\n public ngOnInit(): void {\n this.container.nativeElement.style.height = this.height;\n this.container.nativeElement.style.width = '100%';\n }\n\n public getState(index: number): string {\n if (this.states[index]) {\n return this.states[index];\n }\n\n return (this.selectedIndex === index ? 'in' : 'out');\n }\n\n public restart(): void {\n if (this.timer) {\n window.clearInterval(this.timer);\n }\n if (this.images && this.images.length) {\n this.timer = window.setInterval(() => this.changed('next'), 5000);\n }\n }\n\n public next(): void {\n if (this.selectedIndex < this.items.length - 1) {\n this.selectedIndex++;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private changed(action: string): void {\n this.states[this.selectedIndex] = 'out';\n this[action]();\n this.states[this.selectedIndex] = 'in';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { CaucaMaterialComponent } from './cauca-material.component';\nimport { CaucaInputFileComponent } from './cauca-input-file/cauca-input-file.component';\nimport { CaucaInputMultipleLangueComponent } from './cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nimport { CaucaMenuSidebarComponent } from './cauca-menu-sidebar/cauca-menu-sidebar.component';\nimport { CaucaMenuVerticalComponent } from './cauca-menu-vertical/cauca-menu-vertical.component';\nimport { CaucaSimpleDialogComponent } from './cauca-simple-dialog/cauca-simple-dialog.component';\nimport { CaucaSlideshowComponent } from './cauca-slideshow/cauca-slideshow.component';\n\n@NgModule({\n declarations: [\n CaucaMaterialComponent,\n CaucaInputFileComponent,\n CaucaInputMultipleLangueComponent,\n CaucaMenuSidebarComponent,\n CaucaMenuVerticalComponent,\n CaucaSimpleDialogComponent,\n CaucaSlideshowComponent,\n ],\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n FontAwesomeModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatTabsModule,\n MatDialogModule,\n ],\n exports: [\n CaucaMaterialComponent,\n CaucaInputFileComponent,\n CaucaInputMultipleLangueComponent,\n CaucaMenuSidebarComponent,\n CaucaMenuVerticalComponent,\n CaucaSimpleDialogComponent,\n CaucaSlideshowComponent,\n ],\n})\nexport class CaucaMaterialModule { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'cauca-mobile-time-picker',\n standalone: true,\n imports: [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule\n ],\n templateUrl: './mobile-time-picker.component.html',\n styleUrl: './mobile-time-picker.component.scss'\n})\nexport class MobileTimePickerComponent {\n @Input({required: true}) public value: number;\n @Input({ required: true }) public options: number[];\n\n @Output() public valueChange = new EventEmitter<number>();\n\n public valueUp(): void {\n const currentIndex = this.options.indexOf(this.value);\n let newValue = 0;\n if (currentIndex === this.options.length - 1) {\n newValue = this.options[0];\n } else {\n newValue = this.options[currentIndex + 1];\n }\n\n this.valueChange.emit(newValue);\n }\n\n public valueDown(): void {\n const currentIndex = this.options.indexOf(this.value);\n let newValue = 0;\n if (currentIndex === 0) {\n newValue = this.options[this.options.length - 1];\n } else {\n newValue = this.options[currentIndex - 1];\n }\n\n this.valueChange.emit(newValue);\n }\n}\n","<button mat-icon-button (click)=\"valueUp()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n</button>\n<div>\n{{(value < 10 ? '0' : '' ) + value}}\n</div>\n<button mat-icon-button (click)=\"valueDown()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n</button>\n","<mat-list [disabled]=\"disabled?.all\">\n @for (option of options; track option) {\n <mat-list-item [activated]=\"value === option\" [disabled]=\"disabled?.someOptions.includes(option)\"\n (click)=\"valueChange.emit(option)\">{{(option < 10 ? '0' : '' ) + option}}</mat-list-item>\n }\n</mat-list>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\n@Component({\n selector: 'cauca-desktop-time-picker',\n standalone: true,\n imports: [\n MatListModule\n ],\n templateUrl: './desktop-time-picker.component.html',\n styleUrl: './desktop-time-picker.component.scss'\n})\nexport class DesktopTimePickerComponent {\n @Input() public options: number[] = [];\n @Input() public value: number;\n @Input() public disabled: DesktopTimePickerComponentDisabled;\n\n @Output() public valueChange = new EventEmitter<number>();\n}\n\nexport interface DesktopTimePickerComponentDisabled {\n all: boolean;\n someOptions: number[];\n}","<div mat-dialog-content>\n <div [ngClass]=\"showSeconds ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n <div class=\"hours\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n <div class=\"hours\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n \n <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n \n <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n <div class=\"minutes\" *ngIf=\"showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n \n <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n {{'material.clear' | translate}}\n </button>\n <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n {{'material.ok' | translate}}\n </button>\n</div>","import { Component, HostListener, Inject, OnInit, signal, WritableSignal } from '@angular/core';\nimport { MatNativeDateModule, provideNativeDateAdapter } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatListModule } from '@angular/material/list';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerDataDisabled, DialogDateTimePickerDataStep } from '../../models/dialog-date-time-picker-data';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';\nimport { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';\n\n@Component({\n selector: 'cauca-dialog-date-time-picker',\n standalone: true,\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n MatButtonModule,\n MatDatepickerModule,\n MatIconModule,\n MatListModule,\n MobileTimePickerComponent,\n DesktopTimePickerComponent\n ],\n providers: [provideNativeDateAdapter()],\n templateUrl: './dialog-date-time-picker.component.html',\n styleUrl: './dialog-date-time-picker.component.scss'\n})\nexport class DialogDateTimePickerComponent implements OnInit {\n public selectedHour = 0;\n public selectedMinute = 0;\n public selectedSecond = 0;\n public initialDate: Date = null;\n public selectedDate: Date = null;\n public minimumDate = new Date();\n public maximumDate = new Date();\n public showSeconds: boolean = false;\n public showClearButton: boolean = true;\n public showButtonIcons: boolean = true;\n\n public hours = [...Array(24).keys()];\n public minutes = [...Array(60).keys()];\n public seconds = [...Array(60).keys()];\n public showMobileUi: boolean = false;\n\n public showTime: WritableSignal<boolean> = signal(true);\n\n public disabled: DialogDateTimePickerDataDisabled = {\n hours: true,\n someHours: [],\n minutes: true,\n someMinutes: [],\n seconds: true,\n someSeconds: [],\n };\n\n private step: DialogDateTimePickerDataStep = {\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n public constructor(\n public dialogRef: MatDialogRef<DialogDateTimePickerComponent>,\n @Inject(MAT_DIALOG_DATA) public options: DialogDateTimePickerOptions\n ) {\n this.step = options.step || this.step;\n this.showSeconds = options.showSeconds;\n this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;\n this.showClearButton = options.showClearButton ?? this.showClearButton;\n this.showTime.set(options.showTime ?? true);\n this.setListHoursMinutes();\n this.initialEachComponentValue(options);\n }\n\n public ngOnInit(): void {\n this.onWindowWithChange(window.innerWidth);\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.onWindowWithChange(event.target.innerWidth);\n }\n\n public dateChanged(date: Date): void {\n if (date) {\n this.selectedDate = date;\n this.selectedDate.setHours(this.selectedHour);\n this.selectedDate.setMinutes(this.selectedMinute);\n this.selectedDate.setSeconds(this.selectedSecond);\n this.disabled.hours = false;\n this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));\n } else {\n this.selectedDate = null;\n this.disabled.hours = true;\n }\n }\n\n public hourChanged(hour: number): void {\n if (this.disabled.hours || this.disabled.someHours.includes(hour)) return;\n\n this.selectedHour = hour;\n this.selectedDate.setHours(hour);\n this.disabled.minutes = false;\n this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));\n }\n\n public minuteChanged(minute: number): void {\n if (this.disabled.minutes || this.disabled.someMinutes.includes(minute)) return;\n\n this.selectedMinute = minute;\n this.selectedDate.setMinutes(minute);\n this.disabled.seconds = false;\n this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));\n }\n\n public secondChanged(second: number): void {\n if (this.disabled.seconds || this.disabled.someSeconds.includes(second)) return;\n\n this.selectedSecond = second;\n this.selectedDate.setSeconds(second);\n }\n\n public clear(): void {\n this.dialogRef.close({\n value: null\n });\n }\n\n public cancel(): void {\n this.dialogRef.close({\n value: this.initialDate\n });\n }\n\n public confirm(): void {\n this.dialogRef.close({\n value: this.selectedDate\n });\n }\n\n private onWindowWithChange(width: number): void {\n this.showMobileUi = width && width <= 555;\n }\n\n private hourOfSelectedDateIsDisabled(hour: number): boolean {\n if (this.selectedDateIsTheMinimumDate()) {\n return hour < this.minimumDate.getHours();\n } else if (this.selectedDateIsTheMaximumDate()) {\n return hour > this.maximumDate.getHours();\n }\n\n return false;\n }\n\n private minuteOfSelectedDateIsDisabled(minute: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours()\n ) {\n return minute < this.minimumDate.getMinutes();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getHours() === this.maximumDate.getHours()\n ) {\n return minute > this.maximumDate.getMinutes();\n }\n\n return false;\n }\n\n private secondOfSelectedDateIsDisabled(second: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours() &&\n this.selectedDate.getMinutes() === this.minimumDate.getMinutes()\n ) {\n return second < this.minimumDate.getSeconds();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getMinutes() === this.maximumDate.getMinutes()\n ) {\n return second > this.maximumDate.getSeconds();\n }\n\n return false;\n }\n\n private initialEachComponentValue(options: DialogDateTimePickerOptions): void {\n this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;\n this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;\n this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;\n this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();\n this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);\n this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);\n this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);\n this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);\n }\n\n private selectedDateIsTheMinimumDate(): boolean {\n return (\n this.minimumDate &&\n this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.minimumDate.getMonth() &&\n this.selectedDate.getDate() === this.minimumDate.getDate()\n );\n }\n\n private selectedDateIsTheMaximumDate(): boolean {\n return (\n this.maximumDate &&\n this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.maximumDate.getMonth() &&\n this.selectedDate.getDate() === this.maximumDate.getDate()\n );\n }\n\n private setListHoursMinutes(): void {\n this.hours = this.hours.filter(hour => hour % this.step.hours === 0);\n this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);\n this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);\n }\n}\n","<mat-form-field>\n @if (label) {\n <mat-label>{{ translateLabel ? (label | translate) : label }}</mat-label>\n }\n <input matInput [value]=\"stringDate\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>","import { Component, ElementRef, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { DialogPosition, MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerValue } from './models/dialog-date-time-picker-data';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DatePipe } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-date-time-picker',\n standalone: true,\n imports: [\n TranslateModule,\n MatButtonModule,\n MatIconModule,\n MatInputModule,\n MatFormFieldModule\n ],\n providers: [\n DatePipe,\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => CaucaDateTimePickerComponent),\n }\n ],\n templateUrl: './cauca-date-time-picker.component.html',\n styleUrl: './cauca-date-time-picker.component.scss'\n})\nexport class CaucaDateTimePickerComponent implements ControlValueAccessor {\n @Input() public showTime: boolean = true;\n @Input() public label: string = '';\n @Input() public translateLabel: boolean = true;\n @Input() public stepHours = 1;\n @Input() public stepMinutes = 1;\n @Input() public stepSecondes = 1;\n @Input() public minimumDate: Date = null;\n @Input() public maximumDate: Date = null;\n @Input() public showSeconds: boolean = false;\n @Input() public showFormat: string = 'yyyy/MM/dd, HH:mm';\n @Input() public showClearButton: boolean = true;\n @Input() public showButtonIcons: boolean = true;\n @Output() public selectedChange = new EventEmitter<Date>();\n\n public stringDate: string = '';\n\n private selectedDate: Date;\n\n public constructor(\n private elementRef: ElementRef,\n private dialog: MatDialog,\n private datePipe: DatePipe,\n ) {\n }\n\n @Input()\n public set value(value: Date) {\n if (value) {\n this.stringDate = this.stringifyDate(value);\n this.selectedDate = value;\n }\n }\n\n public showDialog(): void {\n const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {\n position: this.getDialogPosition(),\n data: this.getDateTimePickerOptions(),\n });\n\n dialogRef.afterClosed().subscribe((data: DialogDateTimePickerValue) => {\n if (data) {\n this.stringDate = this.stringifyDate(data.value);\n this.selectedDate = data.value;\n this.selectedChange.emit(data.value);\n this.onChange(data.value);\n }\n });\n }\n\n public writeValue(date: Date): void {\n this.value = date;\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public onChange = (value: Date): Date => value;\n\n public onTouched = (): void => {/* This method needs to be empty */ };\n\n private getDateTimePickerOptions(): DialogDateTimePickerOptions {\n return {\n selectedDate: this.selectedDate,\n minimumDate: this.minimumDate,\n maximumDate: this.maximumDate,\n showSeconds: this.showSeconds,\n showClearButton: this.showClearButton,\n showButtonIcons: this.showButtonIcons,\n showTime: this.showTime,\n step: {\n hours: this.stepHours,\n minutes: this.stepMinutes,\n seconds: this.stepSecondes,\n }\n };\n }\n private stringifyDate(date: Date): string {\n return this.datePipe.transform(date, this.showFormat);\n }\n\n private getDialogPosition(): DialogPosition {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const top = rect.y + rect.height - 22;\n const bottom = window.innerHeight - rect.y;\n const minimumDialogHeight = 400;\n const minimumScreenSize = 800;\n\n if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {\n return null;\n } else if (window.innerHeight > (top + minimumDialogHeight)) {\n return {\n left: `${rect.x}px`,\n top: `${top}px`,\n };\n }\n\n return {\n left: `${rect.x}px`,\n bottom: `${bottom}px`,\n };\n }\n}\n","export class MenuItem {\n public activated: boolean;\n public childs: MenuItem[] = [];\n\n public constructor(\n public label: string,\n public path: string,\n public icon: string | string[] = '',\n ) {\n }\n}\n","/*\n * Public API Surface of cauca-material\n */\n\nexport * from './lib/cauca-material.service';\nexport * from './lib/cauca-material.component';\nexport * from './lib/cauca-material.module';\nexport * from './lib/cauca-date-time-picker/cauca-date-time-picker.component';\nexport * from './lib/cauca-input-file/cauca-input-file.component';\nexport * from './lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nexport * from './lib/cauca-menu-sidebar/cauca-menu-sidebar.component';\nexport * from './lib/cauca-menu-vertical/cauca-menu-vertical.component';\nexport * from './lib/cauca-simple-dialog/cauca-simple-dialog.component';\nexport * from './lib/cauca-slideshow/cauca-slideshow.component';\n\nexport { MenuItem } from './lib/shared/models/menu-item';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i5","i6"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/material",
3
- "version": "18.0.3",
3
+ "version": "18.0.4-beta1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",