@cauca-911/material 18.0.1-beta6 → 18.0.1
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.
- package/esm2022/lib/cauca-date-time-picker/cauca-date-time-picker.component.mjs +184 -0
- package/esm2022/lib/{inputs/cauca-date-time-picker → cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.mjs +2 -2
- package/esm2022/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +365 -0
- package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +74 -0
- package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +2 -0
- package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +148 -0
- package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +87 -0
- package/esm2022/lib/cauca-material.component.mjs +5 -6
- package/esm2022/lib/cauca-material.module.mjs +52 -14
- package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +10 -14
- package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +8 -16
- package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +10 -14
- package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +6 -6
- package/esm2022/public-api.mjs +4 -21
- package/fesm2022/cauca-911-material.mjs +822 -2125
- package/fesm2022/cauca-911-material.mjs.map +1 -1
- package/lib/cauca-date-time-picker/cauca-date-time-picker.component.d.ts +40 -0
- package/lib/{inputs/cauca-date-time-picker → cauca-date-time-picker}/components/dialog-date-time-picker/dialog-date-time-picker.component.d.ts +2 -1
- package/lib/{inputs/cauca-date-time-picker → cauca-date-time-picker}/models/dialog-date-time-picker-data.d.ts +3 -2
- package/lib/{inputs/cauca-input-file → cauca-input-file}/cauca-input-file.component.d.ts +1 -1
- package/lib/{inputs/cauca-input-multiple-langue → cauca-input-multiple-langue}/cauca-input-multiple-langue.component.d.ts +1 -1
- package/lib/cauca-material.component.d.ts +1 -1
- package/lib/cauca-material.module.d.ts +14 -4
- package/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.d.ts +1 -1
- package/lib/cauca-menu-vertical/cauca-menu-vertical.component.d.ts +1 -1
- package/lib/cauca-simple-dialog/cauca-simple-dialog.component.d.ts +1 -1
- package/lib/cauca-slideshow/cauca-slideshow.component.d.ts +1 -1
- package/package.json +2 -3
- package/public-api.d.ts +3 -20
- package/esm2022/lib/buttons/base-button.mjs +0 -33
- package/esm2022/lib/buttons/basic-button/basic-button.component.mjs +0 -64
- package/esm2022/lib/buttons/flat-button/flat-button.component.mjs +0 -64
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +0 -28
- package/esm2022/lib/buttons/menu-item/menu-item.component.mjs +0 -68
- package/esm2022/lib/buttons/raised-button/raised-button.component.mjs +0 -78
- package/esm2022/lib/buttons/stroked-button/stroked-button.component.mjs +0 -71
- package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +0 -57
- package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -69
- package/esm2022/lib/dialogs/services/dialog.service.mjs +0 -52
- package/esm2022/lib/inputs/cauca-date-time-picker/cauca-date-time-picker.component.mjs +0 -137
- package/esm2022/lib/inputs/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -358
- package/esm2022/lib/inputs/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
- package/esm2022/lib/inputs/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
- package/esm2022/lib/inputs/cauca-input-file/cauca-input-file.component.mjs +0 -147
- package/esm2022/lib/inputs/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -99
- package/esm2022/lib/inputs/password/models/password-validation.mjs +0 -13
- package/esm2022/lib/inputs/password/password-criteria/password-criteria.component.mjs +0 -49
- package/esm2022/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.mjs +0 -29
- package/esm2022/lib/inputs/password/password-input/password-input.component.mjs +0 -112
- package/esm2022/lib/inputs/password/password-selection/password-selection.component.mjs +0 -112
- package/esm2022/lib/inputs/password/validators/password-validator.mjs +0 -19
- package/esm2022/lib/inputs/select-with-search/select-with-search.component.mjs +0 -157
- package/esm2022/lib/layout/expandable-panel/expandable-panel.component.mjs +0 -75
- package/esm2022/lib/layout/menu-expandable-panel/menu-expandable-panel.component.mjs +0 -148
- package/esm2022/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.mjs +0 -50
- package/esm2022/lib/layout/page-title/page-title.component.mjs +0 -86
- package/esm2022/lib/notifications/snack-bar/snack-bar.component.mjs +0 -75
- package/lib/buttons/base-button.d.ts +0 -21
- package/lib/buttons/basic-button/basic-button.component.d.ts +0 -6
- package/lib/buttons/flat-button/flat-button.component.d.ts +0 -6
- package/lib/buttons/icon-button/icon-button.component.d.ts +0 -6
- package/lib/buttons/menu-item/menu-item.component.d.ts +0 -9
- package/lib/buttons/raised-button/raised-button.component.d.ts +0 -17
- package/lib/buttons/stroked-button/stroked-button.component.d.ts +0 -6
- package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +0 -18
- package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +0 -17
- package/lib/dialogs/services/dialog.service.d.ts +0 -26
- package/lib/inputs/cauca-date-time-picker/cauca-date-time-picker.component.d.ts +0 -29
- package/lib/inputs/password/models/password-validation.d.ts +0 -9
- package/lib/inputs/password/password-criteria/password-criteria.component.d.ts +0 -9
- package/lib/inputs/password/password-criteria-viewer/password-criteria-viewer.component.d.ts +0 -9
- package/lib/inputs/password/password-input/password-input.component.d.ts +0 -25
- package/lib/inputs/password/password-selection/password-selection.component.d.ts +0 -20
- package/lib/inputs/password/validators/password-validator.d.ts +0 -9
- package/lib/inputs/select-with-search/select-with-search.component.d.ts +0 -32
- package/lib/layout/expandable-panel/expandable-panel.component.d.ts +0 -10
- package/lib/layout/menu-expandable-panel/menu-expandable-panel.component.d.ts +0 -29
- package/lib/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.d.ts +0 -13
- package/lib/layout/page-title/page-title.component.d.ts +0 -11
- package/lib/notifications/snack-bar/snack-bar.component.d.ts +0 -17
- /package/lib/{inputs/cauca-date-time-picker → cauca-date-time-picker}/components/desktop-time-picker/desktop-time-picker.component.d.ts +0 -0
- /package/lib/{inputs/cauca-date-time-picker → cauca-date-time-picker}/components/mobile-time-picker/mobile-time-picker.component.d.ts +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { Component, HostListener, Inject, signal } from '@angular/core';
|
|
2
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
|
3
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
4
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
5
|
+
import { MatListModule } from '@angular/material/list';
|
|
6
|
+
import { CaucaCoreForChildModule } from '@cauca-911/core';
|
|
7
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
+
import { CommonModule } from '@angular/common';
|
|
10
|
+
import { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';
|
|
11
|
+
import { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/dialog";
|
|
14
|
+
import * as i2 from "@angular/common";
|
|
15
|
+
import * as i3 from "@ngx-translate/core";
|
|
16
|
+
import * as i4 from "@angular/material/button";
|
|
17
|
+
import * as i5 from "@angular/material/datepicker";
|
|
18
|
+
import * as i6 from "@angular/material/icon";
|
|
19
|
+
const _c0 = (a0, a1) => ({ all: a0, someOptions: a1 });
|
|
20
|
+
function DialogDateTimePickerComponent_Conditional_4_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
22
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "cauca-desktop-time-picker", 15);
|
|
23
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_0_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hourChanged($event)); });
|
|
24
|
+
i0.ɵɵelementEnd()();
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
27
|
+
i0.ɵɵadvance();
|
|
28
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.hours, ctx_r1.disabled.someHours))("options", ctx_r1.hours)("value", ctx_r1.selectedHour);
|
|
29
|
+
} }
|
|
30
|
+
function DialogDateTimePickerComponent_Conditional_4_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
32
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "cauca-mobile-time-picker", 16);
|
|
33
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_1_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hourChanged($event)); });
|
|
34
|
+
i0.ɵɵelementEnd()();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
37
|
+
i0.ɵɵadvance();
|
|
38
|
+
i0.ɵɵproperty("options", ctx_r1.hours)("value", ctx_r1.selectedHour);
|
|
39
|
+
} }
|
|
40
|
+
function DialogDateTimePickerComponent_Conditional_4_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
42
|
+
i0.ɵɵtext(1, ":");
|
|
43
|
+
i0.ɵɵelementEnd();
|
|
44
|
+
} }
|
|
45
|
+
function DialogDateTimePickerComponent_Conditional_4_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
47
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "cauca-desktop-time-picker", 15);
|
|
48
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_3_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.minuteChanged($event)); });
|
|
49
|
+
i0.ɵɵelementEnd()();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
52
|
+
i0.ɵɵadvance();
|
|
53
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.minutes, ctx_r1.disabled.someMinutes))("options", ctx_r1.minutes)("value", ctx_r1.selectedMinute);
|
|
54
|
+
} }
|
|
55
|
+
function DialogDateTimePickerComponent_Conditional_4_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
57
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "cauca-mobile-time-picker", 16);
|
|
58
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_4_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.minuteChanged($event)); });
|
|
59
|
+
i0.ɵɵelementEnd()();
|
|
60
|
+
} if (rf & 2) {
|
|
61
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
62
|
+
i0.ɵɵadvance();
|
|
63
|
+
i0.ɵɵproperty("options", ctx_r1.minutes)("value", ctx_r1.selectedMinute);
|
|
64
|
+
} }
|
|
65
|
+
function DialogDateTimePickerComponent_Conditional_4_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
67
|
+
i0.ɵɵtext(1, ":");
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
} }
|
|
70
|
+
function DialogDateTimePickerComponent_Conditional_4_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
72
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "cauca-desktop-time-picker", 15);
|
|
73
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_6_Template_cauca_desktop_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.secondChanged($event)); });
|
|
74
|
+
i0.ɵɵelementEnd()();
|
|
75
|
+
} if (rf & 2) {
|
|
76
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
77
|
+
i0.ɵɵadvance();
|
|
78
|
+
i0.ɵɵproperty("disabled", i0.ɵɵpureFunction2(3, _c0, ctx_r1.disabled.seconds, ctx_r1.disabled.someSeconds))("options", ctx_r1.seconds)("value", ctx_r1.selectedSecond);
|
|
79
|
+
} }
|
|
80
|
+
function DialogDateTimePickerComponent_Conditional_4_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
82
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "cauca-mobile-time-picker", 16);
|
|
83
|
+
i0.ɵɵlistener("valueChange", function DialogDateTimePickerComponent_Conditional_4_div_7_Template_cauca_mobile_time_picker_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.secondChanged($event)); });
|
|
84
|
+
i0.ɵɵelementEnd()();
|
|
85
|
+
} if (rf & 2) {
|
|
86
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
87
|
+
i0.ɵɵadvance();
|
|
88
|
+
i0.ɵɵproperty("options", ctx_r1.seconds)("value", ctx_r1.selectedSecond);
|
|
89
|
+
} }
|
|
90
|
+
function DialogDateTimePickerComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
i0.ɵɵtemplate(0, DialogDateTimePickerComponent_Conditional_4_div_0_Template, 2, 6, "div", 9)(1, DialogDateTimePickerComponent_Conditional_4_div_1_Template, 2, 2, "div", 9)(2, DialogDateTimePickerComponent_Conditional_4_div_2_Template, 2, 0, "div", 10)(3, DialogDateTimePickerComponent_Conditional_4_div_3_Template, 2, 6, "div", 11)(4, DialogDateTimePickerComponent_Conditional_4_div_4_Template, 2, 2, "div", 11)(5, DialogDateTimePickerComponent_Conditional_4_div_5_Template, 2, 0, "div", 12)(6, DialogDateTimePickerComponent_Conditional_4_div_6_Template, 2, 6, "div", 13)(7, DialogDateTimePickerComponent_Conditional_4_div_7_Template, 2, 2, "div", 13);
|
|
92
|
+
} if (rf & 2) {
|
|
93
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
94
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.showMobileUi);
|
|
95
|
+
i0.ɵɵadvance();
|
|
96
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showMobileUi);
|
|
97
|
+
i0.ɵɵadvance();
|
|
98
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showMobileUi);
|
|
99
|
+
i0.ɵɵadvance();
|
|
100
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.showMobileUi);
|
|
101
|
+
i0.ɵɵadvance();
|
|
102
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showMobileUi);
|
|
103
|
+
i0.ɵɵadvance();
|
|
104
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showSeconds && ctx_r1.showMobileUi);
|
|
105
|
+
i0.ɵɵadvance();
|
|
106
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showSeconds && !ctx_r1.showMobileUi);
|
|
107
|
+
i0.ɵɵadvance();
|
|
108
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showSeconds && ctx_r1.showMobileUi);
|
|
109
|
+
} }
|
|
110
|
+
function DialogDateTimePickerComponent_button_6_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
112
|
+
i0.ɵɵtext(1, "clear");
|
|
113
|
+
i0.ɵɵelementEnd();
|
|
114
|
+
} }
|
|
115
|
+
function DialogDateTimePickerComponent_button_6_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
117
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
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
|
+
i0.ɵɵtemplate(1, DialogDateTimePickerComponent_button_6_mat_icon_1_Template, 2, 0, "mat-icon", 7);
|
|
120
|
+
i0.ɵɵtext(2);
|
|
121
|
+
i0.ɵɵpipe(3, "translate");
|
|
122
|
+
i0.ɵɵelementEnd();
|
|
123
|
+
} if (rf & 2) {
|
|
124
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
125
|
+
i0.ɵɵadvance();
|
|
126
|
+
i0.ɵɵproperty("ngIf", ctx_r1.showButtonIcons);
|
|
127
|
+
i0.ɵɵadvance();
|
|
128
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "material.clear"), " ");
|
|
129
|
+
} }
|
|
130
|
+
function DialogDateTimePickerComponent_mat_icon_8_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
132
|
+
i0.ɵɵtext(1, "cancel");
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
} }
|
|
135
|
+
function DialogDateTimePickerComponent_mat_icon_12_Template(rf, ctx) { if (rf & 1) {
|
|
136
|
+
i0.ɵɵelementStart(0, "mat-icon");
|
|
137
|
+
i0.ɵɵtext(1, "check");
|
|
138
|
+
i0.ɵɵelementEnd();
|
|
139
|
+
} }
|
|
140
|
+
export class DialogDateTimePickerComponent {
|
|
141
|
+
constructor(dialogRef, options) {
|
|
142
|
+
this.dialogRef = dialogRef;
|
|
143
|
+
this.options = options;
|
|
144
|
+
this.selectedHour = 0;
|
|
145
|
+
this.selectedMinute = 0;
|
|
146
|
+
this.selectedSecond = 0;
|
|
147
|
+
this.initialDate = null;
|
|
148
|
+
this.selectedDate = null;
|
|
149
|
+
this.minimumDate = new Date();
|
|
150
|
+
this.maximumDate = new Date();
|
|
151
|
+
this.showSeconds = false;
|
|
152
|
+
this.showClearButton = true;
|
|
153
|
+
this.showButtonIcons = true;
|
|
154
|
+
this.hours = [...Array(24).keys()];
|
|
155
|
+
this.minutes = [...Array(60).keys()];
|
|
156
|
+
this.seconds = [...Array(60).keys()];
|
|
157
|
+
this.showMobileUi = false;
|
|
158
|
+
this.showTime = signal(true);
|
|
159
|
+
this.disabled = {
|
|
160
|
+
hours: true,
|
|
161
|
+
someHours: [],
|
|
162
|
+
minutes: true,
|
|
163
|
+
someMinutes: [],
|
|
164
|
+
seconds: true,
|
|
165
|
+
someSeconds: [],
|
|
166
|
+
};
|
|
167
|
+
this.step = {
|
|
168
|
+
hours: 1,
|
|
169
|
+
minutes: 1,
|
|
170
|
+
seconds: 1,
|
|
171
|
+
};
|
|
172
|
+
this.step = options.step || this.step;
|
|
173
|
+
this.showSeconds = options.showSeconds;
|
|
174
|
+
this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;
|
|
175
|
+
this.showClearButton = options.showClearButton ?? this.showClearButton;
|
|
176
|
+
this.showTime.set(options.showTime ?? true);
|
|
177
|
+
this.setListHoursMinutes();
|
|
178
|
+
this.initialEachComponentValue(options);
|
|
179
|
+
}
|
|
180
|
+
ngOnInit() {
|
|
181
|
+
this.onWindowWithChange(window.innerWidth);
|
|
182
|
+
}
|
|
183
|
+
onResize(event) {
|
|
184
|
+
this.onWindowWithChange(event.target.innerWidth);
|
|
185
|
+
}
|
|
186
|
+
dateChanged(date) {
|
|
187
|
+
if (date) {
|
|
188
|
+
this.selectedDate = date;
|
|
189
|
+
this.selectedDate.setHours(this.selectedHour);
|
|
190
|
+
this.selectedDate.setMinutes(this.selectedMinute);
|
|
191
|
+
this.selectedDate.setSeconds(this.selectedSecond);
|
|
192
|
+
this.disabled.hours = false;
|
|
193
|
+
this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
this.selectedDate = null;
|
|
197
|
+
this.disabled.hours = true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
hourChanged(hour) {
|
|
201
|
+
if (this.disabled.hours || this.disabled.someHours.includes(hour))
|
|
202
|
+
return;
|
|
203
|
+
this.selectedHour = hour;
|
|
204
|
+
this.selectedDate.setHours(hour);
|
|
205
|
+
this.disabled.minutes = false;
|
|
206
|
+
this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));
|
|
207
|
+
}
|
|
208
|
+
minuteChanged(minute) {
|
|
209
|
+
if (this.disabled.minutes || this.disabled.someMinutes.includes(minute))
|
|
210
|
+
return;
|
|
211
|
+
this.selectedMinute = minute;
|
|
212
|
+
this.selectedDate.setMinutes(minute);
|
|
213
|
+
this.disabled.seconds = false;
|
|
214
|
+
this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));
|
|
215
|
+
}
|
|
216
|
+
secondChanged(second) {
|
|
217
|
+
if (this.disabled.seconds || this.disabled.someSeconds.includes(second))
|
|
218
|
+
return;
|
|
219
|
+
this.selectedSecond = second;
|
|
220
|
+
this.selectedDate.setSeconds(second);
|
|
221
|
+
}
|
|
222
|
+
clear() {
|
|
223
|
+
this.dialogRef.close({
|
|
224
|
+
value: null
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
cancel() {
|
|
228
|
+
this.dialogRef.close({
|
|
229
|
+
value: this.initialDate
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
confirm() {
|
|
233
|
+
this.dialogRef.close({
|
|
234
|
+
value: this.selectedDate
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
onWindowWithChange(width) {
|
|
238
|
+
this.showMobileUi = width && width <= 555;
|
|
239
|
+
}
|
|
240
|
+
hourOfSelectedDateIsDisabled(hour) {
|
|
241
|
+
if (this.selectedDateIsTheMinimumDate()) {
|
|
242
|
+
return hour < this.minimumDate.getHours();
|
|
243
|
+
}
|
|
244
|
+
else if (this.selectedDateIsTheMaximumDate()) {
|
|
245
|
+
return hour > this.maximumDate.getHours();
|
|
246
|
+
}
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
minuteOfSelectedDateIsDisabled(minute) {
|
|
250
|
+
if (this.selectedDateIsTheMinimumDate() &&
|
|
251
|
+
this.selectedDate.getHours() === this.minimumDate.getHours()) {
|
|
252
|
+
return minute < this.minimumDate.getMinutes();
|
|
253
|
+
}
|
|
254
|
+
else if (this.selectedDateIsTheMaximumDate() &&
|
|
255
|
+
this.selectedDate.getHours() === this.maximumDate.getHours()) {
|
|
256
|
+
return minute > this.maximumDate.getMinutes();
|
|
257
|
+
}
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
secondOfSelectedDateIsDisabled(second) {
|
|
261
|
+
if (this.selectedDateIsTheMinimumDate() &&
|
|
262
|
+
this.selectedDate.getHours() === this.minimumDate.getHours() &&
|
|
263
|
+
this.selectedDate.getMinutes() === this.minimumDate.getMinutes()) {
|
|
264
|
+
return second < this.minimumDate.getSeconds();
|
|
265
|
+
}
|
|
266
|
+
else if (this.selectedDateIsTheMaximumDate() &&
|
|
267
|
+
this.selectedDate.getMinutes() === this.maximumDate.getMinutes()) {
|
|
268
|
+
return second > this.maximumDate.getSeconds();
|
|
269
|
+
}
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
initialEachComponentValue(options) {
|
|
273
|
+
this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;
|
|
274
|
+
this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;
|
|
275
|
+
this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;
|
|
276
|
+
this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();
|
|
277
|
+
this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);
|
|
278
|
+
this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);
|
|
279
|
+
this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);
|
|
280
|
+
this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);
|
|
281
|
+
}
|
|
282
|
+
selectedDateIsTheMinimumDate() {
|
|
283
|
+
return (this.minimumDate &&
|
|
284
|
+
this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&
|
|
285
|
+
this.selectedDate.getMonth() === this.minimumDate.getMonth() &&
|
|
286
|
+
this.selectedDate.getDate() === this.minimumDate.getDate());
|
|
287
|
+
}
|
|
288
|
+
selectedDateIsTheMaximumDate() {
|
|
289
|
+
return (this.maximumDate &&
|
|
290
|
+
this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&
|
|
291
|
+
this.selectedDate.getMonth() === this.maximumDate.getMonth() &&
|
|
292
|
+
this.selectedDate.getDate() === this.maximumDate.getDate());
|
|
293
|
+
}
|
|
294
|
+
setListHoursMinutes() {
|
|
295
|
+
this.hours = this.hours.filter(hour => hour % this.step.hours === 0);
|
|
296
|
+
this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);
|
|
297
|
+
this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);
|
|
298
|
+
}
|
|
299
|
+
static { this.ɵfac = function DialogDateTimePickerComponent_Factory(t) { return new (t || DialogDateTimePickerComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
|
|
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
|
+
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) {
|
|
303
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "mat-calendar", 3);
|
|
304
|
+
i0.ɵɵlistener("selectedChange", function DialogDateTimePickerComponent_Template_mat_calendar_selectedChange_3_listener($event) { return ctx.dateChanged($event); });
|
|
305
|
+
i0.ɵɵelementEnd()();
|
|
306
|
+
i0.ɵɵtemplate(4, DialogDateTimePickerComponent_Conditional_4_Template, 8, 8);
|
|
307
|
+
i0.ɵɵelementEnd()();
|
|
308
|
+
i0.ɵɵelementStart(5, "div", 4);
|
|
309
|
+
i0.ɵɵtemplate(6, DialogDateTimePickerComponent_button_6_Template, 4, 4, "button", 5);
|
|
310
|
+
i0.ɵɵelementStart(7, "button", 6);
|
|
311
|
+
i0.ɵɵlistener("click", function DialogDateTimePickerComponent_Template_button_click_7_listener() { return ctx.cancel(); });
|
|
312
|
+
i0.ɵɵtemplate(8, DialogDateTimePickerComponent_mat_icon_8_Template, 2, 0, "mat-icon", 7);
|
|
313
|
+
i0.ɵɵtext(9);
|
|
314
|
+
i0.ɵɵpipe(10, "translate");
|
|
315
|
+
i0.ɵɵelementEnd();
|
|
316
|
+
i0.ɵɵelementStart(11, "button", 8);
|
|
317
|
+
i0.ɵɵlistener("click", function DialogDateTimePickerComponent_Template_button_click_11_listener() { return ctx.confirm(); });
|
|
318
|
+
i0.ɵɵtemplate(12, DialogDateTimePickerComponent_mat_icon_12_Template, 2, 0, "mat-icon", 7);
|
|
319
|
+
i0.ɵɵtext(13);
|
|
320
|
+
i0.ɵɵpipe(14, "translate");
|
|
321
|
+
i0.ɵɵelementEnd()();
|
|
322
|
+
} if (rf & 2) {
|
|
323
|
+
i0.ɵɵadvance();
|
|
324
|
+
i0.ɵɵproperty("ngClass", ctx.showSeconds ? "show-seconds" : "hide-seconds");
|
|
325
|
+
i0.ɵɵadvance(2);
|
|
326
|
+
i0.ɵɵproperty("minDate", ctx.minimumDate)("maxDate", ctx.maximumDate)("selected", ctx.selectedDate);
|
|
327
|
+
i0.ɵɵadvance();
|
|
328
|
+
i0.ɵɵconditional(ctx.showTime() ? 4 : -1);
|
|
329
|
+
i0.ɵɵadvance(2);
|
|
330
|
+
i0.ɵɵproperty("ngIf", ctx.showClearButton);
|
|
331
|
+
i0.ɵɵadvance(2);
|
|
332
|
+
i0.ɵɵproperty("ngIf", ctx.showButtonIcons);
|
|
333
|
+
i0.ɵɵadvance();
|
|
334
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 10, "material.cancel"), " ");
|
|
335
|
+
i0.ɵɵadvance(3);
|
|
336
|
+
i0.ɵɵproperty("ngIf", ctx.showButtonIcons);
|
|
337
|
+
i0.ɵɵadvance();
|
|
338
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 12, "material.ok"), " ");
|
|
339
|
+
} }, dependencies: [CommonModule, i2.NgClass, i2.NgIf, CaucaCoreForChildModule, i3.TranslatePipe, MatButtonModule, i4.MatButton, MatDatepickerModule, i5.MatCalendar, MatIconModule, i6.MatIcon, MatListModule,
|
|
340
|
+
MatNativeDateModule,
|
|
341
|
+
MobileTimePickerComponent,
|
|
342
|
+
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
|
+
}
|
|
344
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogDateTimePickerComponent, [{
|
|
345
|
+
type: Component,
|
|
346
|
+
args: [{ selector: 'cauca-dialog-date-time-picker', standalone: true, imports: [
|
|
347
|
+
CommonModule,
|
|
348
|
+
CaucaCoreForChildModule,
|
|
349
|
+
MatButtonModule,
|
|
350
|
+
MatDatepickerModule,
|
|
351
|
+
MatIconModule,
|
|
352
|
+
MatListModule,
|
|
353
|
+
MatNativeDateModule,
|
|
354
|
+
MobileTimePickerComponent,
|
|
355
|
+
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"] }]
|
|
357
|
+
}], () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
358
|
+
type: Inject,
|
|
359
|
+
args: [MAT_DIALOG_DATA]
|
|
360
|
+
}] }], { onResize: [{
|
|
361
|
+
type: HostListener,
|
|
362
|
+
args: ['window:resize', ['$event']]
|
|
363
|
+
}] }); })();
|
|
364
|
+
(() => { (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
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/button";
|
|
8
|
+
import * as i2 from "@angular/material/icon";
|
|
9
|
+
export class MobileTimePickerComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
valueUp() {
|
|
14
|
+
const currentIndex = this.options.indexOf(this.value);
|
|
15
|
+
let newValue = 0;
|
|
16
|
+
if (currentIndex === this.options.length - 1) {
|
|
17
|
+
newValue = this.options[0];
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
newValue = this.options[currentIndex + 1];
|
|
21
|
+
}
|
|
22
|
+
this.valueChange.emit(newValue);
|
|
23
|
+
}
|
|
24
|
+
valueDown() {
|
|
25
|
+
const currentIndex = this.options.indexOf(this.value);
|
|
26
|
+
let newValue = 0;
|
|
27
|
+
if (currentIndex === 0) {
|
|
28
|
+
newValue = this.options[this.options.length - 1];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
newValue = this.options[currentIndex - 1];
|
|
32
|
+
}
|
|
33
|
+
this.valueChange.emit(newValue);
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = function MobileTimePickerComponent_Factory(t) { return new (t || MobileTimePickerComponent)(); }; }
|
|
36
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileTimePickerComponent, selectors: [["cauca-mobile-time-picker"]], inputs: { value: "value", options: "options" }, outputs: { valueChange: "valueChange" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 8, vars: 1, consts: [["mat-icon-button", "", 3, "click"]], template: function MobileTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "button", 0);
|
|
38
|
+
i0.ɵɵlistener("click", function MobileTimePickerComponent_Template_button_click_0_listener() { return ctx.valueUp(); });
|
|
39
|
+
i0.ɵɵelementStart(1, "mat-icon");
|
|
40
|
+
i0.ɵɵtext(2, "keyboard_arrow_up");
|
|
41
|
+
i0.ɵɵelementEnd()();
|
|
42
|
+
i0.ɵɵelementStart(3, "div");
|
|
43
|
+
i0.ɵɵtext(4);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
i0.ɵɵelementStart(5, "button", 0);
|
|
46
|
+
i0.ɵɵlistener("click", function MobileTimePickerComponent_Template_button_click_5_listener() { return ctx.valueDown(); });
|
|
47
|
+
i0.ɵɵelementStart(6, "mat-icon");
|
|
48
|
+
i0.ɵɵtext(7, "keyboard_arrow_down");
|
|
49
|
+
i0.ɵɵelementEnd()();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
i0.ɵɵadvance(4);
|
|
52
|
+
i0.ɵɵtextInterpolate1("\n", (ctx.value < 10 ? "0" : "") + ctx.value, "\n");
|
|
53
|
+
} }, dependencies: [MatButtonModule, i1.MatIconButton, MatIconModule, i2.MatIcon, MatFormFieldModule,
|
|
54
|
+
MatInputModule], styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;font-family:var(--mat-form-field-container-text-font)}.mat-mdc-icon-button[_ngcontent-%COMP%]{height:24px;width:24px;line-height:24px;padding:0}"] }); }
|
|
55
|
+
}
|
|
56
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MobileTimePickerComponent, [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ selector: 'cauca-mobile-time-picker', standalone: true, imports: [
|
|
59
|
+
MatButtonModule,
|
|
60
|
+
MatIconModule,
|
|
61
|
+
MatFormFieldModule,
|
|
62
|
+
MatInputModule
|
|
63
|
+
], template: "<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", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;font-family:var(--mat-form-field-container-text-font)}.mat-mdc-icon-button{height:24px;width:24px;line-height:24px;padding:0}\n"] }]
|
|
64
|
+
}], null, { value: [{
|
|
65
|
+
type: Input,
|
|
66
|
+
args: [{ required: true }]
|
|
67
|
+
}], options: [{
|
|
68
|
+
type: Input,
|
|
69
|
+
args: [{ required: true }]
|
|
70
|
+
}], valueChange: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}] }); })();
|
|
73
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileTimePickerComponent, { className: "MobileTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\components\\mobile-time-picker\\mobile-time-picker.component.ts", lineNumber: 19 }); })();
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9jb21wb25lbnRzL21vYmlsZS10aW1lLXBpY2tlci9tb2JpbGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvbW9iaWxlLXRpbWUtcGlja2VyL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBY3pELE1BQU0sT0FBTyx5QkFBeUI7SUFadEM7UUFnQm1CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXlCM0Q7SUF2QlEsT0FBTztRQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxTQUFTO1FBQ2QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzswRkE1QlUseUJBQXlCO29FQUF6Qix5QkFBeUI7WUNsQnRDLGlDQUE0QztZQUFwQixzR0FBUyxhQUFTLElBQUM7WUFDdkMsZ0NBQVU7WUFBQSxpQ0FBaUI7WUFDL0IsQUFEK0IsaUJBQVcsRUFDakM7WUFDVCwyQkFBSztZQUNMLFlBQ0E7WUFBQSxpQkFBTTtZQUNOLGlDQUE4QztZQUF0QixzR0FBUyxlQUFXLElBQUM7WUFDekMsZ0NBQVU7WUFBQSxtQ0FBbUI7WUFDakMsQUFEaUMsaUJBQVcsRUFDbkM7O1lBSlQsZUFDQTtZQURBLDBFQUNBOzRCREtJLGVBQWUsb0JBQ2YsYUFBYSxjQUNiLGtCQUFrQjtZQUNsQixjQUFjOztpRkFLTCx5QkFBeUI7Y0FackMsU0FBUzsyQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO29CQUNQLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGNBQWM7aUJBQ2Y7Z0JBSytCLEtBQUs7a0JBQXBDLEtBQUs7bUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO1lBQ1csT0FBTztrQkFBeEMsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFFUixXQUFXO2tCQUEzQixNQUFNOztrRkFKSSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NhdWNhLW1vYmlsZS10aW1lLXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tb2JpbGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZVRpbWVQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIHZhbHVlOiBudW1iZXI7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBvcHRpb25zOiBudW1iZXJbXTtcblxuICBAT3V0cHV0KCkgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHVibGljIHZhbHVlVXAoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5vcHRpb25zLmluZGV4T2YodGhpcy52YWx1ZSk7XG4gICAgbGV0IG5ld1ZhbHVlID0gMDtcbiAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld1ZhbHVlID0gdGhpcy5vcHRpb25zW2N1cnJlbnRJbmRleCArIDFdO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsdWVEb3duKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMub3B0aW9ucy5pbmRleE9mKHRoaXMudmFsdWUpO1xuICAgIGxldCBuZXdWYWx1ZSA9IDA7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gMCkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLm9wdGlvbnNbdGhpcy5vcHRpb25zLmxlbmd0aCAtIDFdO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdWYWx1ZSA9IHRoaXMub3B0aW9uc1tjdXJyZW50SW5kZXggLSAxXTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3VmFsdWUpO1xuICB9XG59XG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmFsdWVVcCgpXCI+XG4gICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3VwPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGRpdj5cbnt7KHZhbHVlIDwgMTAgPyAnMCcgOiAnJyApICsgdmFsdWV9fVxuPC9kaXY+XG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmFsdWVEb3duKClcIj5cbiAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9tb2RlbHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwIHtcbiAgICBob3VyczogbnVtYmVyLFxuICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICBzZWNvbmRzOiBudW1iZXIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQge1xuICAgIGhvdXJzOiBib29sZWFuLFxuICAgIHNvbWVIb3VyczogbnVtYmVyW10sXG4gICAgbWludXRlczogYm9vbGVhbixcbiAgICBzb21lTWludXRlczogbnVtYmVyW10sXG4gICAgc2Vjb25kczogYm9vbGVhbixcbiAgICBzb21lU2Vjb25kczogbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zIHtcbiAgICBzZWxlY3RlZERhdGU6IERhdGUsXG4gICAgbWluaW11bURhdGU6IERhdGUgfCBudWxsLFxuICAgIG1heGltdW1EYXRlOiBEYXRlIHwgbnVsbCxcbiAgICBzaG93U2Vjb25kczogYm9vbGVhbixcbiAgICBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4sXG4gICAgc2hvd0J1dHRvbkljb25zOiBib29sZWFuLFxuICAgIHNob3dUaW1lOiBib29sZWFuLFxuICAgIHN0ZXA6IERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YVN0ZXAsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJWYWx1ZSB7XG4gICAgdmFsdWU6IERhdGUsXG59Il19
|