@cauca-911/material 18.0.9 → 19.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.
Files changed (25) hide show
  1. package/fesm2022/cauca-911-material.mjs +124 -49
  2. package/fesm2022/cauca-911-material.mjs.map +1 -1
  3. package/lib/test-component-with-classic-input/test-component-with-classic-input.component.d.ts +9 -0
  4. package/lib/test-component-with-model-signal/test-component-with-model-signal.component.d.ts +7 -0
  5. package/lib/test-component-with-signal-input/test-component-with-signal-input.component.d.ts +8 -0
  6. package/package.json +7 -9
  7. package/public-api.d.ts +3 -0
  8. package/esm2022/cauca-911-material.mjs +0 -5
  9. package/esm2022/lib/cauca-date-time-picker/cauca-date-time-picker.component.mjs +0 -209
  10. package/esm2022/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.mjs +0 -49
  11. package/esm2022/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -363
  12. package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
  13. package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
  14. package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +0 -148
  15. package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -87
  16. package/esm2022/lib/cauca-material.component.mjs +0 -21
  17. package/esm2022/lib/cauca-material.module.mjs +0 -94
  18. package/esm2022/lib/cauca-material.service.mjs +0 -13
  19. package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +0 -147
  20. package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +0 -166
  21. package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +0 -62
  22. package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +0 -140
  23. package/esm2022/lib/shared/models/menu-item.mjs +0 -9
  24. package/esm2022/lib/shared/models/simple-dialog-data.mjs +0 -6
  25. package/esm2022/public-api.mjs +0 -15
@@ -1,363 +0,0 @@
1
- import { Component, HostListener, Inject, signal } from '@angular/core';
2
- import { provideNativeDateAdapter } 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", 21);
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.ɵɵ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
- 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
- MobileTimePickerComponent,
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}}"] }); }
342
- }
343
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogDateTimePickerComponent, [{
344
- type: Component,
345
- args: [{ selector: 'cauca-dialog-date-time-picker', standalone: true, imports: [
346
- CommonModule,
347
- CaucaCoreForChildModule,
348
- MatButtonModule,
349
- MatDatepickerModule,
350
- MatIconModule,
351
- MatListModule,
352
- MobileTimePickerComponent,
353
- DesktopTimePickerComponent
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"] }]
355
- }], () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
356
- type: Inject,
357
- args: [MAT_DIALOG_DATA]
358
- }] }], { onResize: [{
359
- type: HostListener,
360
- args: ['window:resize', ['$event']]
361
- }] }); })();
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 }); })();
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIvZGlhbG9nLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLDBCQUEw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dCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZU5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBEaWFsb2dEYXRlVGltZVBpY2tlck9wdGlvbnMsIERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YURpc2FibGVkLCBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLWRhdGEnO1xuaW1wb3J0IHsgQ2F1Y2FDb3JlRm9yQ2hpbGRNb2R1bGUgfSBmcm9tICdAY2F1Y2EtOTExL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2JpbGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9iaWxlLXRpbWUtcGlja2VyL21vYmlsZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9kZXNrdG9wLXRpbWUtcGlja2VyL2Rlc2t0b3AtdGltZS1waWNrZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F1Y2EtZGlhbG9nLWRhdGUtdGltZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENhdWNhQ29yZUZvckNoaWxkTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNb2JpbGVUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIERlc2t0b3BUaW1lUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVOYXRpdmVEYXRlQWRhcHRlcigpXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RpYWxvZy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzZWxlY3RlZEhvdXIgPSAwO1xuICBwdWJsaWMgc2VsZWN0ZWRNaW51dGUgPSAwO1xuICBwdWJsaWMgc2VsZWN0ZWRTZWNvbmQgPSAwO1xuICBwdWJsaWMgaW5pdGlhbERhdGU6IERhdGUgPSBudWxsO1xuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcbiAgcHVibGljIG1pbmltdW1EYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIG1heGltdW1EYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHNob3dTZWNvbmRzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd0J1dHRvbkljb25zOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgaG91cnMgPSBbLi4uQXJyYXkoMjQpLmtleXMoKV07XG4gIHB1YmxpYyBtaW51dGVzID0gWy4uLkFycmF5KDYwKS5rZXlzKCldO1xuICBwdWJsaWMgc2Vjb25kcyA9IFsuLi5BcnJheSg2MCkua2V5cygpXTtcbiAgcHVibGljIHNob3dNb2JpbGVVaTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93VGltZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwodHJ1ZSk7XG5cbiAgcHVibGljIGRpc2FibGVkOiBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFEaXNhYmxlZCA9IHtcbiAgICBob3VyczogdHJ1ZSxcbiAgICBzb21lSG91cnM6IFtdLFxuICAgIG1pbnV0ZXM6IHRydWUsXG4gICAgc29tZU1pbnV0ZXM6IFtdLFxuICAgIHNlY29uZHM6IHRydWUsXG4gICAgc29tZVNlY29uZHM6IFtdLFxuICB9O1xuXG4gIHByaXZhdGUgc3RlcDogRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhU3RlcCA9IHtcbiAgICBob3VyczogMSxcbiAgICBtaW51dGVzOiAxLFxuICAgIHNlY29uZHM6IDEsXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dEYXRlVGltZVBpY2tlckNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBvcHRpb25zOiBEaWFsb2dEYXRlVGltZVBpY2tlck9wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5zdGVwID0gb3B0aW9ucy5zdGVwIHx8IHRoaXMuc3RlcDtcbiAgICB0aGlzLnNob3dTZWNvbmRzID0gb3B0aW9ucy5zaG93U2Vjb25kcztcbiAgICB0aGlzLnNob3dCdXR0b25JY29ucyA9IG9wdGlvbnMuc2hvd0J1dHRvbkljb25zID8/IHRoaXMuc2hvd0J1dHRvbkljb25zO1xuICAgIHRoaXMuc2hvd0NsZWFyQnV0dG9uID0gb3B0aW9ucy5zaG93Q2xlYXJCdXR0b24gPz8gdGhpcy5zaG93Q2xlYXJCdXR0b247XG4gICAgdGhpcy5zaG93VGltZS5zZXQob3B0aW9ucy5zaG93VGltZSA/PyB0cnVlKTtcbiAgICB0aGlzLnNldExpc3RIb3Vyc01pbnV0ZXMoKTtcbiAgICB0aGlzLmluaXRpYWxFYWNoQ29tcG9uZW50VmFsdWUob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vbldpbmRvd1dpdGhDaGFuZ2Uod2luZG93LmlubmVyV2lkdGgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvblJlc2l6ZShldmVudCkge1xuICAgIHRoaXMub25XaW5kb3dXaXRoQ2hhbmdlKGV2ZW50LnRhcmdldC5pbm5lcldpZHRoKTtcbiAgfVxuXG4gIHB1YmxpYyBkYXRlQ2hhbmdlZChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldEhvdXJzKHRoaXMuc2VsZWN0ZWRIb3VyKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldE1pbnV0ZXModGhpcy5zZWxlY3RlZE1pbnV0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXRTZWNvbmRzKHRoaXMuc2VsZWN0ZWRTZWNvbmQpO1xuICAgICAgdGhpcy5kaXNhYmxlZC5ob3VycyA9IGZhbHNlO1xuICAgICAgdGhpcy5kaXNhYmxlZC5zb21lSG91cnMgPSB0aGlzLmhvdXJzLmZpbHRlcihob3VyID0+IHRoaXMuaG91ck9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChob3VyKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICAgIHRoaXMuZGlzYWJsZWQuaG91cnMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3VyQ2hhbmdlZChob3VyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZC5ob3VycyB8fCB0aGlzLmRpc2FibGVkLnNvbWVIb3Vycy5pbmNsdWRlcyhob3VyKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZEhvdXIgPSBob3VyO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldEhvdXJzKGhvdXIpO1xuICAgIHRoaXMuZGlzYWJsZWQubWludXRlcyA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQuc29tZU1pbnV0ZXMgPSB0aGlzLm1pbnV0ZXMuZmlsdGVyKG1pbnV0ZSA9PiB0aGlzLm1pbnV0ZU9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChtaW51dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBtaW51dGVDaGFuZ2VkKG1pbnV0ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQubWludXRlcyB8fCB0aGlzLmRpc2FibGVkLnNvbWVNaW51dGVzLmluY2x1ZGVzKG1pbnV0ZSkpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBtaW51dGU7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0TWludXRlcyhtaW51dGUpO1xuICAgIHRoaXMuZGlzYWJsZWQuc2Vjb25kcyA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQuc29tZVNlY29uZHMgPSB0aGlzLnNlY29uZHMuZmlsdGVyKHNlY29uZCA9PiB0aGlzLnNlY29uZE9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChzZWNvbmQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRDaGFuZ2VkKHNlY29uZDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQuc2Vjb25kcyB8fCB0aGlzLmRpc2FibGVkLnNvbWVTZWNvbmRzLmluY2x1ZGVzKHNlY29uZCkpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmQgPSBzZWNvbmQ7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0U2Vjb25kcyhzZWNvbmQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgIHZhbHVlOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgIHZhbHVlOiB0aGlzLmluaXRpYWxEYXRlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlybSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZERhdGVcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25XaW5kb3dXaXRoQ2hhbmdlKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNb2JpbGVVaSA9IHdpZHRoICYmIHdpZHRoIDw9IDU1NTtcbiAgfVxuXG4gIHByaXZhdGUgaG91ck9mU2VsZWN0ZWREYXRlSXNEaXNhYmxlZChob3VyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGVJc1RoZU1pbmltdW1EYXRlKCkpIHtcbiAgICAgIHJldHVybiBob3VyIDwgdGhpcy5taW5pbXVtRGF0ZS5nZXRIb3VycygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZERhdGVJc1RoZU1heGltdW1EYXRlKCkpIHtcbiAgICAgIHJldHVybiBob3VyID4gdGhpcy5tYXhpbXVtRGF0ZS5nZXRIb3VycygpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbWludXRlT2ZTZWxlY3RlZERhdGVJc0Rpc2FibGVkKG1pbnV0ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVJc1RoZU1pbmltdW1EYXRlKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEhvdXJzKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0SG91cnMoKVxuICAgICkge1xuICAgICAgcmV0dXJuIG1pbnV0ZSA8IHRoaXMubWluaW11bURhdGUuZ2V0TWludXRlcygpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWF4aW11bURhdGUoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0SG91cnMoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXRIb3VycygpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbWludXRlID4gdGhpcy5tYXhpbXVtRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWNvbmRPZlNlbGVjdGVkRGF0ZUlzRGlzYWJsZWQoc2Vjb25kOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0SG91cnMoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRIb3VycygpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNaW51dGVzKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0TWludXRlcygpXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2Vjb25kIDwgdGhpcy5taW5pbXVtRGF0ZS5nZXRTZWNvbmRzKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlSXNUaGVNYXhpbXVtRGF0ZSgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNaW51dGVzKCkgPT09IHRoaXMubWF4aW11bURhdGUuZ2V0TWludXRlcygpXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2Vjb25kID4gdGhpcy5tYXhpbXVtRGF0ZS5nZXRTZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsRWFjaENvbXBvbmVudFZhbHVlKG9wdGlvbnM6IERpYWxvZ0RhdGVUaW1lUGlja2VyT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbERhdGUgPSBvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKSA6IG51bGw7XG4gICAgdGhpcy5taW5pbXVtRGF0ZSA9IG9wdGlvbnMubWluaW11bURhdGUgPyBuZXcgRGF0ZShvcHRpb25zLm1pbmltdW1EYXRlKSA6IG51bGw7XG4gICAgdGhpcy5tYXhpbXVtRGF0ZSA9IG9wdGlvbnMubWF4aW11bURhdGUgPyBuZXcgRGF0ZShvcHRpb25zLm1heGltdW1EYXRlKSA6IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSBvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKSA6IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5kYXRlQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKSA6IG51bGwpO1xuICAgIHRoaXMuaG91ckNoYW5nZWQob3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkuZ2V0SG91cnMoKSA6IDApO1xuICAgIHRoaXMubWludXRlQ2hhbmdlZChvcHRpb25zLnNlbGVjdGVkRGF0ZSA/IG5ldyBEYXRlKG9wdGlvbnMuc2VsZWN0ZWREYXRlKS5nZXRNaW51dGVzKCkgOiAwKTtcbiAgICB0aGlzLnNlY29uZENoYW5nZWQob3B0aW9ucy5zZWxlY3RlZERhdGUgPyBuZXcgRGF0ZShvcHRpb25zLnNlbGVjdGVkRGF0ZSkuZ2V0U2Vjb25kcygpIDogMCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdGVkRGF0ZUlzVGhlTWluaW11bURhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWluaW11bURhdGUgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSA9PT0gdGhpcy5taW5pbXVtRGF0ZS5nZXRNb250aCgpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkgPT09IHRoaXMubWluaW11bURhdGUuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0ZWREYXRlSXNUaGVNYXhpbXVtRGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tYXhpbXVtRGF0ZSAmJlxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXRGdWxsWWVhcigpICYmXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpID09PSB0aGlzLm1heGltdW1EYXRlLmdldE1vbnRoKCkgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSA9PT0gdGhpcy5tYXhpbXVtRGF0ZS5nZXREYXRlKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMaXN0SG91cnNNaW51dGVzKCk6IHZvaWQge1xuICAgIHRoaXMuaG91cnMgPSB0aGlzLmhvdXJzLmZpbHRlcihob3VyID0+IGhvdXIgJSB0aGlzLnN0ZXAuaG91cnMgPT09IDApO1xuICAgIHRoaXMubWludXRlcyA9IHRoaXMubWludXRlcy5maWx0ZXIobWludXRlID0+IG1pbnV0ZSAlIHRoaXMuc3RlcC5taW51dGVzID09PSAwKTtcbiAgICB0aGlzLnNlY29uZHMgPSB0aGlzLnNlY29uZHMuZmlsdGVyKHNlY29uZGUgPT4gc2Vjb25kZSAlIHRoaXMuc3RlcC5zZWNvbmRzID09PSAwKTtcbiAgfVxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBbbmdDbGFzc109XCJzaG93U2Vjb25kcyA/ICdzaG93LXNlY29uZHMnIDogJ2hpZGUtc2Vjb25kcydcIiBjbGFzcz1cImRhdGUtdGltZS1waWNrZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyXCI+XG4gICAgICAgICAgICA8bWF0LWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluaW11bURhdGVcIlxuICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIm1heGltdW1EYXRlXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiZGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9tYXQtY2FsZW5kYXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2hvd1RpbWUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvdXJzXCIgKm5nSWY9XCIhc2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLWRlc2t0b3AtdGltZS1waWNrZXIgW2Rpc2FibGVkXT1cInthbGw6IGRpc2FibGVkLmhvdXJzLCBzb21lT3B0aW9uczogZGlzYWJsZWQuc29tZUhvdXJzfVwiICh2YWx1ZUNoYW5nZSk9XCJob3VyQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwiaG91cnNcIiBbdmFsdWVdPVwic2VsZWN0ZWRIb3VyXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG91cnNcIiAqbmdJZj1cInNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1tb2JpbGUtdGltZS1waWNrZXIgKHZhbHVlQ2hhbmdlKT1cImhvdXJDaGFuZ2VkKCRldmVudClcIiBbb3B0aW9uc109XCJob3Vyc1wiIFt2YWx1ZV09XCJzZWxlY3RlZEhvdXJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3VyLWFuZC1taW51dGUtc2VwYXJhdG9yXCIgKm5nSWY9XCJzaG93TW9iaWxlVWlcIj46PC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW51dGVzXCIgKm5nSWY9XCIhc2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLWRlc2t0b3AtdGltZS1waWNrZXIgW2Rpc2FibGVkXT1cInthbGw6IGRpc2FibGVkLm1pbnV0ZXMsIHNvbWVPcHRpb25zOiBkaXNhYmxlZC5zb21lTWludXRlc31cIiAodmFsdWVDaGFuZ2UpPVwibWludXRlQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwibWludXRlc1wiIFt2YWx1ZV09XCJzZWxlY3RlZE1pbnV0ZVwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbnV0ZXNcIiAqbmdJZj1cInNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1tb2JpbGUtdGltZS1waWNrZXIgKHZhbHVlQ2hhbmdlKT1cIm1pbnV0ZUNoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cIm1pbnV0ZXNcIiBbdmFsdWVdPVwic2VsZWN0ZWRNaW51dGVcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW51dGUtYW5kLXNlY29uZC1zZXBhcmF0b3JcIiAqbmdJZj1cInNob3dTZWNvbmRzICYmIHNob3dNb2JpbGVVaVwiPjo8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRzXCIgKm5nSWY9XCJzaG93U2Vjb25kcyAmJiAhc2hvd01vYmlsZVVpXCI+XG4gICAgICAgICAgICAgICAgPGNhdWNhLWRlc2t0b3AtdGltZS1waWNrZXIgW2Rpc2FibGVkXT1cInthbGw6IGRpc2FibGVkLnNlY29uZHMsIHNvbWVPcHRpb25zOiBkaXNhYmxlZC5zb21lU2Vjb25kc31cIiAodmFsdWVDaGFuZ2UpPVwic2Vjb25kQ2hhbmdlZCgkZXZlbnQpXCIgW29wdGlvbnNdPVwic2Vjb25kc1wiIFt2YWx1ZV09XCJzZWxlY3RlZFNlY29uZFwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY29uZHNcIiAqbmdJZj1cInNob3dTZWNvbmRzICYmIHNob3dNb2JpbGVVaVwiPlxuICAgICAgICAgICAgICAgIDxjYXVjYS1tb2JpbGUtdGltZS1waWNrZXIgKHZhbHVlQ2hhbmdlKT1cInNlY29uZENoYW5nZWQoJGV2ZW50KVwiIFtvcHRpb25zXT1cInNlY29uZHNcIiBbdmFsdWVdPVwic2VsZWN0ZWRTZWNvbmRcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b25cIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0J1dHRvbkljb25zXCI+Y2xlYXI8L21hdC1pY29uPlxuICAgICAgICB7eydtYXRlcmlhbC5jbGVhcicgfCB0cmFuc2xhdGV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzaG93QnV0dG9uSWNvbnNcIj5jYW5jZWw8L21hdC1pY29uPlxuICAgICAgICB7eydtYXRlcmlhbC5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNka0ZvY3VzSW5pdGlhbCAoY2xpY2spPVwiY29uZmlybSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dCdXR0b25JY29uc1wiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgICAge3snbWF0ZXJpYWwub2snIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbjwvZGl2PiJdfQ==
@@ -1,74 +0,0 @@
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==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhdWNhLW1hdGVyaWFsL3NyYy9saWIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci9tb2RlbHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRlVGltZVBpY2tlckRhdGFTdGVwIHtcbiAgICBob3VyczogbnVtYmVyLFxuICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICBzZWNvbmRzOiBudW1iZXIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJEYXRhRGlzYWJsZWQge1xuICAgIGhvdXJzOiBib29sZWFuLFxuICAgIHNvbWVIb3VyczogbnVtYmVyW10sXG4gICAgbWludXRlczogYm9vbGVhbixcbiAgICBzb21lTWludXRlczogbnVtYmVyW10sXG4gICAgc2Vjb25kczogYm9vbGVhbixcbiAgICBzb21lU2Vjb25kczogbnVtYmVyW10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zIHtcbiAgICBzZWxlY3RlZERhdGU6IERhdGUsXG4gICAgbWluaW11bURhdGU6IERhdGUgfCBudWxsLFxuICAgIG1heGltdW1EYXRlOiBEYXRlIHwgbnVsbCxcbiAgICBzaG93U2Vjb25kczogYm9vbGVhbixcbiAgICBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4sXG4gICAgc2hvd0J1dHRvbkljb25zOiBib29sZWFuLFxuICAgIHNob3dUaW1lOiBib29sZWFuLFxuICAgIHN0ZXA6IERpYWxvZ0RhdGVUaW1lUGlja2VyRGF0YVN0ZXAsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0ZVRpbWVQaWNrZXJWYWx1ZSB7XG4gICAgdmFsdWU6IERhdGUsXG59Il19