@cauca-911/material 18.0.8 → 19.0.0
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/fesm2022/cauca-911-material.mjs +48 -47
- package/fesm2022/cauca-911-material.mjs.map +1 -1
- package/package.json +7 -9
- package/esm2022/cauca-911-material.mjs +0 -5
- package/esm2022/lib/cauca-date-time-picker/cauca-date-time-picker.component.mjs +0 -208
- package/esm2022/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.mjs +0 -49
- package/esm2022/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.mjs +0 -363
- package/esm2022/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.mjs +0 -74
- package/esm2022/lib/cauca-date-time-picker/models/dialog-date-time-picker-data.mjs +0 -2
- package/esm2022/lib/cauca-input-file/cauca-input-file.component.mjs +0 -148
- package/esm2022/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.mjs +0 -87
- package/esm2022/lib/cauca-material.component.mjs +0 -21
- package/esm2022/lib/cauca-material.module.mjs +0 -94
- package/esm2022/lib/cauca-material.service.mjs +0 -13
- package/esm2022/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.mjs +0 -147
- package/esm2022/lib/cauca-menu-vertical/cauca-menu-vertical.component.mjs +0 -166
- package/esm2022/lib/cauca-simple-dialog/cauca-simple-dialog.component.mjs +0 -62
- package/esm2022/lib/cauca-slideshow/cauca-slideshow.component.mjs +0 -140
- package/esm2022/lib/shared/models/menu-item.mjs +0 -9
- package/esm2022/lib/shared/models/simple-dialog-data.mjs +0 -6
- package/esm2022/public-api.mjs +0 -15
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, inject, Injector, Input, Output } from '@angular/core';
|
|
2
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
-
import { MatInputModule } from '@angular/material/input';
|
|
4
|
-
import { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { DatePipe } from '@angular/common';
|
|
7
|
-
import { ControlContainer, FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';
|
|
8
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/material/dialog";
|
|
12
|
-
import * as i2 from "@angular/common";
|
|
13
|
-
import * as i3 from "@ngx-translate/core";
|
|
14
|
-
import * as i4 from "@angular/material/button";
|
|
15
|
-
import * as i5 from "@angular/material/icon";
|
|
16
|
-
import * as i6 from "@angular/material/input";
|
|
17
|
-
import * as i7 from "@angular/material/form-field";
|
|
18
|
-
function CaucaDateTimePickerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
-
i0.ɵɵelementStart(0, "mat-label");
|
|
20
|
-
i0.ɵɵtext(1);
|
|
21
|
-
i0.ɵɵpipe(2, "translate");
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
} if (rf & 2) {
|
|
24
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
25
|
-
i0.ɵɵadvance();
|
|
26
|
-
i0.ɵɵtextInterpolate2("", ctx_r0.translateLabel ? i0.ɵɵpipeBind1(2, 2, ctx_r0.label) : ctx_r0.label, "", ctx_r0.isRequired ? "*" : "", "");
|
|
27
|
-
} }
|
|
28
|
-
export class CaucaDateTimePickerComponent {
|
|
29
|
-
constructor(elementRef, dialog, datePipe) {
|
|
30
|
-
this.elementRef = elementRef;
|
|
31
|
-
this.dialog = dialog;
|
|
32
|
-
this.datePipe = datePipe;
|
|
33
|
-
this.subscriptSizing = 'fixed';
|
|
34
|
-
this.showTime = true;
|
|
35
|
-
this.label = '';
|
|
36
|
-
this.translateLabel = true;
|
|
37
|
-
this.stepHours = 1;
|
|
38
|
-
this.stepMinutes = 1;
|
|
39
|
-
this.stepSecondes = 1;
|
|
40
|
-
this.minimumDate = null;
|
|
41
|
-
this.maximumDate = null;
|
|
42
|
-
this.showSeconds = false;
|
|
43
|
-
this.showFormat = 'yyyy/MM/dd, HH:mm';
|
|
44
|
-
this.showClearButton = true;
|
|
45
|
-
this.showButtonIcons = true;
|
|
46
|
-
this.selectedChange = new EventEmitter();
|
|
47
|
-
this.stringDate = '';
|
|
48
|
-
this.injector = inject(Injector);
|
|
49
|
-
this.onChange = (value) => value;
|
|
50
|
-
this.onTouched = () => { };
|
|
51
|
-
}
|
|
52
|
-
set value(value) {
|
|
53
|
-
if (value) {
|
|
54
|
-
this.stringDate = this.stringifyDate(value);
|
|
55
|
-
this.selectedDate = value;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
get isRequired() {
|
|
59
|
-
return Boolean(this.control?.hasValidator(Validators.required));
|
|
60
|
-
}
|
|
61
|
-
ngOnInit() {
|
|
62
|
-
const ngControl = this.injector.get(NgControl, null, { self: true, optional: true });
|
|
63
|
-
if (ngControl instanceof FormControlName) {
|
|
64
|
-
const container = this.injector.get(ControlContainer).control;
|
|
65
|
-
this.control = container.controls[ngControl.name];
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.control = new FormControl();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
showDialog() {
|
|
72
|
-
const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {
|
|
73
|
-
position: this.getDialogPosition(),
|
|
74
|
-
data: this.getDateTimePickerOptions(),
|
|
75
|
-
});
|
|
76
|
-
dialogRef.afterClosed().subscribe((data) => {
|
|
77
|
-
if (data) {
|
|
78
|
-
this.stringDate = this.stringifyDate(data.value);
|
|
79
|
-
this.selectedDate = data.value;
|
|
80
|
-
this.selectedChange.emit(data.value);
|
|
81
|
-
this.onChange(data.value);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
writeValue(date) {
|
|
86
|
-
this.value = date;
|
|
87
|
-
}
|
|
88
|
-
registerOnChange(fn) {
|
|
89
|
-
this.onChange = fn;
|
|
90
|
-
}
|
|
91
|
-
registerOnTouched(fn) {
|
|
92
|
-
this.onTouched = fn;
|
|
93
|
-
}
|
|
94
|
-
getDateTimePickerOptions() {
|
|
95
|
-
return {
|
|
96
|
-
selectedDate: this.selectedDate,
|
|
97
|
-
minimumDate: this.minimumDate,
|
|
98
|
-
maximumDate: this.maximumDate,
|
|
99
|
-
showSeconds: this.showSeconds,
|
|
100
|
-
showClearButton: this.showClearButton,
|
|
101
|
-
showButtonIcons: this.showButtonIcons,
|
|
102
|
-
showTime: this.showTime,
|
|
103
|
-
step: {
|
|
104
|
-
hours: this.stepHours,
|
|
105
|
-
minutes: this.stepMinutes,
|
|
106
|
-
seconds: this.stepSecondes,
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
stringifyDate(date) {
|
|
111
|
-
return this.datePipe.transform(date, this.showFormat);
|
|
112
|
-
}
|
|
113
|
-
getDialogPosition() {
|
|
114
|
-
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
115
|
-
const top = rect.y + rect.height - 22;
|
|
116
|
-
const bottom = window.innerHeight - rect.y;
|
|
117
|
-
const minimumDialogHeight = 400;
|
|
118
|
-
const minimumScreenSize = 800;
|
|
119
|
-
if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
else if (window.innerHeight > (top + minimumDialogHeight)) {
|
|
123
|
-
return {
|
|
124
|
-
left: `${rect.x}px`,
|
|
125
|
-
top: `${top}px`,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
return {
|
|
129
|
-
left: `${rect.x}px`,
|
|
130
|
-
bottom: `${bottom}px`,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
static { this.ɵfac = function CaucaDateTimePickerComponent_Factory(t) { return new (t || CaucaDateTimePickerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.DatePipe)); }; }
|
|
134
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaucaDateTimePickerComponent, selectors: [["cauca-date-time-picker"]], inputs: { subscriptSizing: "subscriptSizing", showTime: "showTime", label: "label", translateLabel: "translateLabel", stepHours: "stepHours", stepMinutes: "stepMinutes", stepSecondes: "stepSecondes", minimumDate: "minimumDate", maximumDate: "maximumDate", showSeconds: "showSeconds", showFormat: "showFormat", showClearButton: "showClearButton", showButtonIcons: "showButtonIcons", value: "value" }, outputs: { selectedChange: "selectedChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([
|
|
135
|
-
DatePipe,
|
|
136
|
-
{
|
|
137
|
-
provide: NG_VALUE_ACCESSOR,
|
|
138
|
-
multi: true,
|
|
139
|
-
useExisting: forwardRef(() => CaucaDateTimePickerComponent),
|
|
140
|
-
}
|
|
141
|
-
]), i0.ɵɵStandaloneFeature], decls: 6, vars: 3, consts: [[3, "subscriptSizing"], ["matInput", "", "readonly", "readonly", 3, "focusout", "value"], ["matSuffix", "", "mat-icon-button", "", 3, "click"]], template: function CaucaDateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
-
i0.ɵɵelementStart(0, "mat-form-field", 0);
|
|
143
|
-
i0.ɵɵtemplate(1, CaucaDateTimePickerComponent_Conditional_1_Template, 3, 4, "mat-label");
|
|
144
|
-
i0.ɵɵelementStart(2, "input", 1);
|
|
145
|
-
i0.ɵɵlistener("focusout", function CaucaDateTimePickerComponent_Template_input_focusout_2_listener() { return ctx.onTouched(); });
|
|
146
|
-
i0.ɵɵelementEnd();
|
|
147
|
-
i0.ɵɵelementStart(3, "button", 2);
|
|
148
|
-
i0.ɵɵlistener("click", function CaucaDateTimePickerComponent_Template_button_click_3_listener() { return ctx.showDialog(); });
|
|
149
|
-
i0.ɵɵelementStart(4, "mat-icon");
|
|
150
|
-
i0.ɵɵtext(5, "calendar_month");
|
|
151
|
-
i0.ɵɵelementEnd()()();
|
|
152
|
-
} if (rf & 2) {
|
|
153
|
-
i0.ɵɵproperty("subscriptSizing", ctx.subscriptSizing);
|
|
154
|
-
i0.ɵɵadvance();
|
|
155
|
-
i0.ɵɵconditional(ctx.label ? 1 : -1);
|
|
156
|
-
i0.ɵɵadvance();
|
|
157
|
-
i0.ɵɵproperty("value", ctx.stringDate);
|
|
158
|
-
} }, dependencies: [TranslateModule, i3.TranslatePipe, MatButtonModule, i4.MatIconButton, MatIconModule, i5.MatIcon, MatInputModule, i6.MatInput, i7.MatFormField, i7.MatLabel, i7.MatSuffix, MatFormFieldModule], styles: ["[_nghost-%COMP%]{display:block}mat-form-field[_ngcontent-%COMP%]{width:100%}"] }); }
|
|
159
|
-
}
|
|
160
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaucaDateTimePickerComponent, [{
|
|
161
|
-
type: Component,
|
|
162
|
-
args: [{ selector: 'cauca-date-time-picker', standalone: true, imports: [
|
|
163
|
-
TranslateModule,
|
|
164
|
-
MatButtonModule,
|
|
165
|
-
MatIconModule,
|
|
166
|
-
MatInputModule,
|
|
167
|
-
MatFormFieldModule
|
|
168
|
-
], providers: [
|
|
169
|
-
DatePipe,
|
|
170
|
-
{
|
|
171
|
-
provide: NG_VALUE_ACCESSOR,
|
|
172
|
-
multi: true,
|
|
173
|
-
useExisting: forwardRef(() => CaucaDateTimePickerComponent),
|
|
174
|
-
}
|
|
175
|
-
], template: "<mat-form-field [subscriptSizing]=\"subscriptSizing\">\n @if (label) {\n <mat-label>{{ translateLabel ? (label | translate) : label }}{{isRequired ? '*' : ''}}</mat-label>\n }\n <input (focusout)=\"onTouched()\" matInput [value]=\"stringDate\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>", styles: [":host{display:block}mat-form-field{width:100%}\n"] }]
|
|
176
|
-
}], () => [{ type: i0.ElementRef }, { type: i1.MatDialog }, { type: i2.DatePipe }], { subscriptSizing: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], showTime: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], label: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], translateLabel: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], stepHours: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], stepMinutes: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], stepSecondes: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], minimumDate: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], maximumDate: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], showSeconds: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], showFormat: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], showClearButton: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], showButtonIcons: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], selectedChange: [{
|
|
203
|
-
type: Output
|
|
204
|
-
}], value: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}] }); })();
|
|
207
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaucaDateTimePickerComponent, { className: "CaucaDateTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\cauca-date-time-picker.component.ts", lineNumber: 34 }); })();
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWRhdGUtdGltZS1waWNrZXIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWRhdGUtdGltZS1waWNrZXIvY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFFdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLGdCQUFnQixFQUF3QixXQUFXLEVBQUUsZUFBZSxFQUFhLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1SyxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sOEJBQThCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0lDUjlDLGlDQUFXO0lBQUEsWUFBMkU7O0lBQUEsaUJBQVk7OztJQUF2RixjQUEyRTtJQUEzRSwwSUFB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cURBQW1DO1lBQy9DLGNBRUM7WUFGRCxvQ0FFQztZQUN3QyxjQUFvQjtZQUFwQixzQ0FBb0I7NEJEWTdELGVBQWUsb0JBQ2YsZUFBZSxvQkFDZixhQUFhLGNBQ2IsY0FBYywyREFDZCxrQkFBa0I7O2lGQWFULDRCQUE0QjtjQXJCeEMsU0FBUzsyQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQO29CQUNQLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixhQUFhO29CQUNiLGNBQWM7b0JBQ2Qsa0JBQWtCO2lCQUNuQixhQUNVO29CQUNULFFBQVE7b0JBQ1I7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUM7cUJBQzVEO2lCQUNGOzBGQUtlLGVBQWU7a0JBQTlCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLGNBQWM7a0JBQTdCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsV0FBVztrQkFBMUIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxXQUFXO2tCQUExQixLQUFLO1lBQ1UsV0FBVztrQkFBMUIsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsZUFBZTtrQkFBOUIsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVyxjQUFjO2tCQUE5QixNQUFNO1lBZ0JJLEtBQUs7a0JBRGYsS0FBSzs7a0ZBN0JLLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1Bvc2l0aW9uLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEaWFsb2dEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci9kaWFsb2ctZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nRGF0ZVRpbWVQaWNrZXJPcHRpb25zLCBEaWFsb2dEYXRlVGltZVBpY2tlclZhbHVlIH0gZnJvbSAnLi9tb2RlbHMvZGlhbG9nLWRhdGUtdGltZS1waWNrZXItZGF0YSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Db250cm9sTmFtZSwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlLCBTdWJzY3JpcHRTaXppbmcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXVjYS1kYXRlLXRpbWUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRGF0ZVBpcGUsXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENhdWNhRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdWNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2F1Y2EtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQ2F1Y2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgc3Vic2NyaXB0U2l6aW5nOiBTdWJzY3JpcHRTaXppbmcgPSAnZml4ZWQnO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1RpbWU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNsYXRlTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RlcEhvdXJzID0gMTtcbiAgQElucHV0KCkgcHVibGljIHN0ZXBNaW51dGVzID0gMTtcbiAgQElucHV0KCkgcHVibGljIHN0ZXBTZWNvbmRlcyA9IDE7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5pbXVtRGF0ZTogRGF0ZSA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhpbXVtRGF0ZTogRGF0ZSA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0Zvcm1hdDogc3RyaW5nID0gJ3l5eXkvTU0vZGQsIEhIOm1tJztcbiAgQElucHV0KCkgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QnV0dG9uSWNvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHB1YmxpYyBzdHJpbmdEYXRlOiBzdHJpbmcgPSAnJztcbiAgXG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIHNlbGVjdGVkRGF0ZTogRGF0ZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXG4gICkge1xuICB9XG4gIFxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnN0cmluZ0RhdGUgPSB0aGlzLnN0cmluZ2lmeURhdGUodmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgXG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSlcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgaWYgKG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSkge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5pbmplY3Rvci5nZXQoQ29udHJvbENvbnRhaW5lcikuY29udHJvbCBhcyBGb3JtR3JvdXA7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250YWluZXIuY29udHJvbHNbbmdDb250cm9sLm5hbWVdIGFzIEZvcm1Db250cm9sO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd0RpYWxvZygpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0RhdGVUaW1lUGlja2VyQ29tcG9uZW50LCB7XG4gICAgICBwb3NpdGlvbjogdGhpcy5nZXREaWFsb2dQb3NpdGlvbigpLFxuICAgICAgZGF0YTogdGhpcy5nZXREYXRlVGltZVBpY2tlck9wdGlvbnMoKSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoZGF0YTogRGlhbG9nRGF0ZVRpbWVQaWNrZXJWYWx1ZSkgPT4ge1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5zdHJpbmdEYXRlID0gdGhpcy5zdHJpbmdpZnlEYXRlKGRhdGEudmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGEudmFsdWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChkYXRhLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRhLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gZGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2UgPSAodmFsdWU6IERhdGUpOiBEYXRlID0+IHZhbHVlO1xuXG4gIHB1YmxpYyBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7LyogVGhpcyBtZXRob2QgbmVlZHMgdG8gYmUgZW1wdHkgKi8gfTtcblxuICBwcml2YXRlIGdldERhdGVUaW1lUGlja2VyT3B0aW9ucygpOiBEaWFsb2dEYXRlVGltZVBpY2tlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBzZWxlY3RlZERhdGU6IHRoaXMuc2VsZWN0ZWREYXRlLFxuICAgICAgbWluaW11bURhdGU6IHRoaXMubWluaW11bURhdGUsXG4gICAgICBtYXhpbXVtRGF0ZTogdGhpcy5tYXhpbXVtRGF0ZSxcbiAgICAgIHNob3dTZWNvbmRzOiB0aGlzLnNob3dTZWNvbmRzLFxuICAgICAgc2hvd0NsZWFyQnV0dG9uOiB0aGlzLnNob3dDbGVhckJ1dHRvbixcbiAgICAgIHNob3dCdXR0b25JY29uczogdGhpcy5zaG93QnV0dG9uSWNvbnMsXG4gICAgICBzaG93VGltZTogdGhpcy5zaG93VGltZSxcbiAgICAgIHN0ZXA6IHtcbiAgICAgICAgaG91cnM6IHRoaXMuc3RlcEhvdXJzLFxuICAgICAgICBtaW51dGVzOiB0aGlzLnN0ZXBNaW51dGVzLFxuICAgICAgICBzZWNvbmRzOiB0aGlzLnN0ZXBTZWNvbmRlcyxcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHByaXZhdGUgc3RyaW5naWZ5RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgdGhpcy5zaG93Rm9ybWF0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlhbG9nUG9zaXRpb24oKTogRGlhbG9nUG9zaXRpb24ge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0b3AgPSByZWN0LnkgKyByZWN0LmhlaWdodCAtIDIyO1xuICAgIGNvbnN0IGJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHJlY3QueTtcbiAgICBjb25zdCBtaW5pbXVtRGlhbG9nSGVpZ2h0ID0gNDAwO1xuICAgIGNvbnN0IG1pbmltdW1TY3JlZW5TaXplID0gODAwO1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA8IG1pbmltdW1TY3JlZW5TaXplIHx8IHdpbmRvdy5pbm5lcldpZHRoIDwgbWluaW11bVNjcmVlblNpemUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSBpZiAod2luZG93LmlubmVySGVpZ2h0ID4gKHRvcCArIG1pbmltdW1EaWFsb2dIZWlnaHQpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0OiBgJHtyZWN0Lnh9cHhgLFxuICAgICAgICB0b3A6IGAke3RvcH1weGAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsZWZ0OiBgJHtyZWN0Lnh9cHhgLFxuICAgICAgYm90dG9tOiBgJHtib3R0b219cHhgLFxuICAgIH07XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiPlxuICAgIEBpZiAobGFiZWwpIHtcbiAgICAgICAgPG1hdC1sYWJlbD57eyB0cmFuc2xhdGVMYWJlbCA/IChsYWJlbCB8IHRyYW5zbGF0ZSkgOiBsYWJlbCB9fXt7aXNSZXF1aXJlZCA/ICcqJyA6ICcnfX08L21hdC1sYWJlbD5cbiAgICB9XG4gICAgPGlucHV0IChmb2N1c291dCk9XCJvblRvdWNoZWQoKVwiIG1hdElucHV0IFt2YWx1ZV09XCJzdHJpbmdEYXRlXCIgcmVhZG9ubHk9XCJyZWFkb25seVwiPlxuICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0RpYWxvZygpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5jYWxlbmRhcl9tb250aDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { MatListModule } from '@angular/material/list';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/list";
|
|
5
|
-
function DesktopTimePickerComponent_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
7
|
-
i0.ɵɵelementStart(0, "mat-list-item", 2);
|
|
8
|
-
i0.ɵɵlistener("click", function DesktopTimePickerComponent_For_2_Template_mat_list_item_click_0_listener() { const option_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.valueChange.emit(option_r2)); });
|
|
9
|
-
i0.ɵɵtext(1);
|
|
10
|
-
i0.ɵɵelementEnd();
|
|
11
|
-
} if (rf & 2) {
|
|
12
|
-
const option_r2 = ctx.$implicit;
|
|
13
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
14
|
-
i0.ɵɵproperty("activated", ctx_r2.value === option_r2)("disabled", ctx_r2.disabled == null ? null : ctx_r2.disabled.someOptions.includes(option_r2));
|
|
15
|
-
i0.ɵɵadvance();
|
|
16
|
-
i0.ɵɵtextInterpolate((option_r2 < 10 ? "0" : "") + option_r2);
|
|
17
|
-
} }
|
|
18
|
-
export class DesktopTimePickerComponent {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.options = [];
|
|
21
|
-
this.valueChange = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = function DesktopTimePickerComponent_Factory(t) { return new (t || DesktopTimePickerComponent)(); }; }
|
|
24
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DesktopTimePickerComponent, selectors: [["cauca-desktop-time-picker"]], inputs: { options: "options", value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 3, vars: 1, consts: [[3, "disabled"], [3, "activated", "disabled"], [3, "click", "activated", "disabled"]], template: function DesktopTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
-
i0.ɵɵelementStart(0, "mat-list", 0);
|
|
26
|
-
i0.ɵɵrepeaterCreate(1, DesktopTimePickerComponent_For_2_Template, 2, 3, "mat-list-item", 1, i0.ɵɵrepeaterTrackByIdentity);
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
28
|
-
} if (rf & 2) {
|
|
29
|
-
i0.ɵɵproperty("disabled", ctx.disabled == null ? null : ctx.disabled.all);
|
|
30
|
-
i0.ɵɵadvance();
|
|
31
|
-
i0.ɵɵrepeater(ctx.options);
|
|
32
|
-
} }, dependencies: [MatListModule, i1.MatList, i1.MatListItem], styles: ["mat-list[_ngcontent-%COMP%]{width:50px;padding:0}mat-list[_ngcontent-%COMP%] .mat-mdc-list-item[_ngcontent-%COMP%]:not(.mat-mdc-list-item-interactive){cursor:pointer} > div[_ngcontent-%COMP%]::-webkit-scrollbar{display:none} .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)} .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)} .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}"] }); }
|
|
33
|
-
}
|
|
34
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DesktopTimePickerComponent, [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'cauca-desktop-time-picker', standalone: true, imports: [
|
|
37
|
-
MatListModule
|
|
38
|
-
], template: "<mat-list [disabled]=\"disabled?.all\">\n @for (option of options; track option) {\n <mat-list-item [activated]=\"value === option\" [disabled]=\"disabled?.someOptions.includes(option)\"\n (click)=\"valueChange.emit(option)\">{{(option < 10 ? '0' : '' ) + option}}</mat-list-item>\n }\n</mat-list>", styles: ["mat-list{width:50px;padding:0}mat-list .mat-mdc-list-item:not(.mat-mdc-list-item-interactive){cursor:pointer}>div::-webkit-scrollbar{display:none}::ng-deep .mdc-list-item__primary-text{font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}::ng-deep .mdc-list-item--activated{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color)}::ng-deep .mdc-list-item--activated .mdc-list-item__primary-text{color:var(--mat-datepicker-calendar-date-selected-state-text-color)}\n"] }]
|
|
39
|
-
}], null, { options: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], value: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], disabled: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], valueChange: [{
|
|
46
|
-
type: Output
|
|
47
|
-
}] }); })();
|
|
48
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DesktopTimePickerComponent, { className: "DesktopTimePickerComponent", filePath: "lib\\cauca-date-time-picker\\components\\desktop-time-picker\\desktop-time-picker.component.ts", lineNumber: 13 }); })();
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVza3RvcC10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXVjYS1tYXRlcmlhbC9zcmMvbGliL2NhdWNhLWRhdGUtdGltZS1waWNrZXIvY29tcG9uZW50cy9kZXNrdG9wLXRpbWUtcGlja2VyL2Rlc2t0b3AtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2F1Y2EtbWF0ZXJpYWwvc3JjL2xpYi9jYXVjYS1kYXRlLXRpbWUtcGlja2VyL2NvbXBvbmVudHMvZGVza3RvcC10aW1lLXBpY2tlci9kZXNrdG9wLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztJQ0NuRCx3Q0FDdUM7SUFBbkMseU5BQVMsa0NBQXdCLEtBQUM7SUFBQyxZQUFzQztJQUFBLGlCQUFnQjs7OztJQUQvQyxBQUEvQixzREFBOEIsOEZBQW9EO0lBQzFELGNBQXNDO0lBQXRDLDZEQUFzQzs7QURTakYsTUFBTSxPQUFPLDBCQUEwQjtJQVR2QztRQVVrQixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBSXRCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQUMzRDsyRkFOWSwwQkFBMEI7b0VBQTFCLDBCQUEwQjtZQ1p2QyxtQ0FBcUM7WUFDakMseUhBR1M7WUFDYixpQkFBVzs7WUFMRCx5RUFBMEI7WUFDaEMsY0FHUztZQUhULDBCQUdTOzRCREdULGFBQWE7O2lGQUtKLDBCQUEwQjtjQVR0QyxTQUFTOzJCQUNFLDJCQUEyQixjQUN6QixJQUFJLFdBQ1A7b0JBQ1AsYUFBYTtpQkFDZDtnQkFLZSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFFVyxXQUFXO2tCQUEzQixNQUFNOztrRkFMSSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjYXVjYS1kZXNrdG9wLXRpbWUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdExpc3RNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rlc2t0b3AtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGVza3RvcC10aW1lLXBpY2tlci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIHZhbHVlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnREaXNhYmxlZDtcblxuICBAT3V0cHV0KCkgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVza3RvcFRpbWVQaWNrZXJDb21wb25lbnREaXNhYmxlZCB7XG4gIGFsbDogYm9vbGVhbjtcbiAgc29tZU9wdGlvbnM6IG51bWJlcltdO1xufSIsIjxtYXQtbGlzdCBbZGlzYWJsZWRdPVwiZGlzYWJsZWQ/LmFsbFwiPlxuICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICA8bWF0LWxpc3QtaXRlbSBbYWN0aXZhdGVkXT1cInZhbHVlID09PSBvcHRpb25cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQ/LnNvbWVPcHRpb25zLmluY2x1ZGVzKG9wdGlvbilcIlxuICAgICAgICAoY2xpY2spPVwidmFsdWVDaGFuZ2UuZW1pdChvcHRpb24pXCI+e3sob3B0aW9uIDwgMTAgPyAnMCcgOiAnJyApICsgb3B0aW9ufX08L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICB9XG48L21hdC1saXN0PiJdfQ==
|