primekit 0.0.63 → 0.0.64
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/lib/atomix-daterange-calendar/atomix-daterange-calendar.component.mjs +292 -0
- package/esm2022/lib/lib/atomix-input/atomix-input.component.mjs +3 -3
- package/esm2022/lib/primekit.module.mjs +13 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/primekit.mjs +327 -33
- package/fesm2022/primekit.mjs.map +1 -1
- package/lib/lib/atomix-daterange-calendar/atomix-daterange-calendar.component.d.ts +46 -0
- package/lib/primekit.module.d.ts +51 -49
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "primeng/button";
|
|
5
|
+
import * as i3 from "primeng/inputtext";
|
|
6
|
+
import * as i4 from "primeng/calendar";
|
|
7
|
+
import * as i5 from "primeng/overlaypanel";
|
|
8
|
+
import * as i6 from "@angular/forms";
|
|
9
|
+
export class AtomixDaterangeCalendarComponent {
|
|
10
|
+
datePipe;
|
|
11
|
+
placeholder = '';
|
|
12
|
+
styleClass = '';
|
|
13
|
+
selectionMode = 'range';
|
|
14
|
+
inputStyleClass = '';
|
|
15
|
+
disabled = false;
|
|
16
|
+
selectedDate = null;
|
|
17
|
+
maxDate;
|
|
18
|
+
minDate;
|
|
19
|
+
customRangeMode = false;
|
|
20
|
+
selectedPreset = null; // 'today' | 'yesterday' | 'lastWeek' | 'lastMonth' | 'lastQuarter' | 'custom' | null
|
|
21
|
+
overlayPanel;
|
|
22
|
+
dateRangeChange = new EventEmitter();
|
|
23
|
+
enLocale = {
|
|
24
|
+
firstDayOfWeek: 0,
|
|
25
|
+
dayNames: [
|
|
26
|
+
'Sunday',
|
|
27
|
+
'Monday',
|
|
28
|
+
'Tuesday',
|
|
29
|
+
'Wednesday',
|
|
30
|
+
'Thursday',
|
|
31
|
+
'Friday',
|
|
32
|
+
'Saturday',
|
|
33
|
+
],
|
|
34
|
+
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
35
|
+
dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
|
36
|
+
monthNames: [
|
|
37
|
+
'January',
|
|
38
|
+
'February',
|
|
39
|
+
'March',
|
|
40
|
+
'April',
|
|
41
|
+
'May',
|
|
42
|
+
'June',
|
|
43
|
+
'July',
|
|
44
|
+
'August',
|
|
45
|
+
'September',
|
|
46
|
+
'October',
|
|
47
|
+
'November',
|
|
48
|
+
'December',
|
|
49
|
+
],
|
|
50
|
+
monthNamesShort: [
|
|
51
|
+
'Jan',
|
|
52
|
+
'Feb',
|
|
53
|
+
'Mar',
|
|
54
|
+
'Apr',
|
|
55
|
+
'May',
|
|
56
|
+
'Jun',
|
|
57
|
+
'Jul',
|
|
58
|
+
'Aug',
|
|
59
|
+
'Sep',
|
|
60
|
+
'Oct',
|
|
61
|
+
'Nov',
|
|
62
|
+
'Dec',
|
|
63
|
+
],
|
|
64
|
+
today: 'Today',
|
|
65
|
+
clear: 'Clear',
|
|
66
|
+
};
|
|
67
|
+
constructor(datePipe) {
|
|
68
|
+
this.datePipe = datePipe;
|
|
69
|
+
}
|
|
70
|
+
ngOnChanges(changes) {
|
|
71
|
+
if (changes['selectedDate']) {
|
|
72
|
+
const sel = changes['selectedDate'].currentValue;
|
|
73
|
+
if (sel && Array.isArray(sel) && sel.length === 2 && sel[0] && sel[1]) {
|
|
74
|
+
const preset = this.detectPreset(sel[0], sel[1]);
|
|
75
|
+
this.selectedPreset = preset ?? 'custom';
|
|
76
|
+
}
|
|
77
|
+
else if (sel == null) {
|
|
78
|
+
this.selectedPreset = null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
onInputKeyDown(event) {
|
|
83
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
84
|
+
try {
|
|
85
|
+
this.overlayPanel?.toggle(event);
|
|
86
|
+
}
|
|
87
|
+
catch (e) { }
|
|
88
|
+
event.preventDefault();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
clearAndStop(event) {
|
|
92
|
+
// Prevent toggle from happening when clear icon is clicked
|
|
93
|
+
try {
|
|
94
|
+
event.stopPropagation();
|
|
95
|
+
}
|
|
96
|
+
catch (e) { }
|
|
97
|
+
try {
|
|
98
|
+
event.preventDefault();
|
|
99
|
+
}
|
|
100
|
+
catch (e) { }
|
|
101
|
+
this.clearDateRange();
|
|
102
|
+
}
|
|
103
|
+
get hasSelection() {
|
|
104
|
+
return Boolean(this.selectedDate &&
|
|
105
|
+
Array.isArray(this.selectedDate) &&
|
|
106
|
+
this.selectedDate.length === 2 &&
|
|
107
|
+
!!this.selectedDate[0] &&
|
|
108
|
+
!!this.selectedDate[1]);
|
|
109
|
+
}
|
|
110
|
+
normalizeDate(d) {
|
|
111
|
+
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
112
|
+
}
|
|
113
|
+
isSameDate(a, b) {
|
|
114
|
+
return (a.getFullYear() === b.getFullYear() &&
|
|
115
|
+
a.getMonth() === b.getMonth() &&
|
|
116
|
+
a.getDate() === b.getDate());
|
|
117
|
+
}
|
|
118
|
+
detectPreset(startRaw, endRaw) {
|
|
119
|
+
const start = this.normalizeDate(startRaw);
|
|
120
|
+
const end = this.normalizeDate(endRaw);
|
|
121
|
+
const today = this.normalizeDate(new Date());
|
|
122
|
+
// today
|
|
123
|
+
if (this.isSameDate(start, today) && this.isSameDate(end, today))
|
|
124
|
+
return 'today';
|
|
125
|
+
// yesterday
|
|
126
|
+
const y = new Date(today);
|
|
127
|
+
y.setDate(y.getDate() - 1);
|
|
128
|
+
if (this.isSameDate(start, y) && this.isSameDate(end, y))
|
|
129
|
+
return 'yesterday';
|
|
130
|
+
// lastWeek (last 7 days where end = yesterday and start = end - 6)
|
|
131
|
+
const lwEnd = new Date(today);
|
|
132
|
+
lwEnd.setDate(lwEnd.getDate() - 1);
|
|
133
|
+
const lwStart = new Date(lwEnd);
|
|
134
|
+
lwStart.setDate(lwEnd.getDate() - 6);
|
|
135
|
+
if (this.isSameDate(start, lwStart) && this.isSameDate(end, lwEnd))
|
|
136
|
+
return 'lastWeek';
|
|
137
|
+
// lastMonth
|
|
138
|
+
const firstDayOfCurrentMonth = new Date(today.getFullYear(), today.getMonth(), 1);
|
|
139
|
+
const lastDayOfPrevMonth = new Date(firstDayOfCurrentMonth);
|
|
140
|
+
lastDayOfPrevMonth.setDate(0);
|
|
141
|
+
const firstDayOfPrevMonth = new Date(lastDayOfPrevMonth.getFullYear(), lastDayOfPrevMonth.getMonth(), 1);
|
|
142
|
+
if (this.isSameDate(start, firstDayOfPrevMonth) &&
|
|
143
|
+
this.isSameDate(end, lastDayOfPrevMonth))
|
|
144
|
+
return 'lastMonth';
|
|
145
|
+
// lastQuarter
|
|
146
|
+
const month = today.getMonth();
|
|
147
|
+
const quarter = Math.floor(month / 3);
|
|
148
|
+
const prevQuarterEndMonth = quarter * 3 - 1;
|
|
149
|
+
const prevQuarterEnd = new Date(today.getFullYear(), prevQuarterEndMonth + 1, 0);
|
|
150
|
+
const prevQuarterStartMonth = prevQuarterEndMonth - 2;
|
|
151
|
+
const prevQuarterStart = new Date(today.getFullYear(), prevQuarterStartMonth, 1);
|
|
152
|
+
if (this.isSameDate(start, prevQuarterStart) && this.isSameDate(end, prevQuarterEnd))
|
|
153
|
+
return 'lastQuarter';
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
clearDateRange() {
|
|
157
|
+
this.selectedDate = null;
|
|
158
|
+
this.dateRangeChange.emit(this.selectedDate);
|
|
159
|
+
this.selectedPreset = null;
|
|
160
|
+
this.customRangeMode = false;
|
|
161
|
+
}
|
|
162
|
+
resetAndClose() {
|
|
163
|
+
this.clearDateRange();
|
|
164
|
+
if (this.overlayPanel) {
|
|
165
|
+
try {
|
|
166
|
+
this.overlayPanel.hide();
|
|
167
|
+
}
|
|
168
|
+
catch (e) { }
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
toggleCustomRange() {
|
|
172
|
+
this.customRangeMode = !this.customRangeMode;
|
|
173
|
+
if (this.customRangeMode)
|
|
174
|
+
this.selectedPreset = 'custom';
|
|
175
|
+
}
|
|
176
|
+
applyCustomRange() {
|
|
177
|
+
this.dateRangeChange.emit(this.selectedDate);
|
|
178
|
+
if (this.overlayPanel) {
|
|
179
|
+
try {
|
|
180
|
+
this.overlayPanel.hide();
|
|
181
|
+
}
|
|
182
|
+
catch (e) { }
|
|
183
|
+
}
|
|
184
|
+
this.customRangeMode = false;
|
|
185
|
+
this.selectedPreset = 'custom';
|
|
186
|
+
}
|
|
187
|
+
getDateRangeLabel() {
|
|
188
|
+
if (!this.selectedDate || !Array.isArray(this.selectedDate))
|
|
189
|
+
return this.placeholder || 'Select date range';
|
|
190
|
+
const [start, end] = this.selectedDate;
|
|
191
|
+
if (!start || !end)
|
|
192
|
+
return 'Select date range';
|
|
193
|
+
const startStr = this.datePipe.transform(start, 'MM/dd/yyyy');
|
|
194
|
+
const endStr = this.datePipe.transform(end, 'MM/dd/yyyy');
|
|
195
|
+
return `${startStr} – ${endStr}`;
|
|
196
|
+
}
|
|
197
|
+
applyPreset(preset) {
|
|
198
|
+
const today = new Date();
|
|
199
|
+
let start = null;
|
|
200
|
+
let end = null;
|
|
201
|
+
switch (preset) {
|
|
202
|
+
case 'today':
|
|
203
|
+
start = end = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
|
204
|
+
break;
|
|
205
|
+
case 'yesterday':
|
|
206
|
+
const y = new Date(today);
|
|
207
|
+
y.setDate(y.getDate() - 1);
|
|
208
|
+
start = end = new Date(y.getFullYear(), y.getMonth(), y.getDate());
|
|
209
|
+
break;
|
|
210
|
+
case 'lastWeek': {
|
|
211
|
+
const lwEnd = new Date(today);
|
|
212
|
+
lwEnd.setDate(lwEnd.getDate() - 1);
|
|
213
|
+
const lwStart = new Date(lwEnd);
|
|
214
|
+
lwStart.setDate(lwEnd.getDate() - 6);
|
|
215
|
+
start = new Date(lwStart.getFullYear(), lwStart.getMonth(), lwStart.getDate());
|
|
216
|
+
end = new Date(lwEnd.getFullYear(), lwEnd.getMonth(), lwEnd.getDate());
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
case 'lastMonth': {
|
|
220
|
+
const firstDayOfCurrentMonth = new Date(today.getFullYear(), today.getMonth(), 1);
|
|
221
|
+
const lastDayOfPrevMonth = new Date(firstDayOfCurrentMonth);
|
|
222
|
+
lastDayOfPrevMonth.setDate(0);
|
|
223
|
+
const firstDayOfPrevMonth = new Date(lastDayOfPrevMonth.getFullYear(), lastDayOfPrevMonth.getMonth(), 1);
|
|
224
|
+
start = new Date(firstDayOfPrevMonth.getFullYear(), firstDayOfPrevMonth.getMonth(), 1);
|
|
225
|
+
end = new Date(lastDayOfPrevMonth.getFullYear(), lastDayOfPrevMonth.getMonth(), lastDayOfPrevMonth.getDate());
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
case 'lastQuarter': {
|
|
229
|
+
const month = today.getMonth();
|
|
230
|
+
const quarter = Math.floor(month / 3);
|
|
231
|
+
const prevQuarterEndMonth = quarter * 3 - 1;
|
|
232
|
+
const prevQuarterEnd = new Date(today.getFullYear(), prevQuarterEndMonth + 1, 0);
|
|
233
|
+
const prevQuarterStartMonth = prevQuarterEndMonth - 2;
|
|
234
|
+
const prevQuarterStart = new Date(today.getFullYear(), prevQuarterStartMonth, 1);
|
|
235
|
+
start = prevQuarterStart;
|
|
236
|
+
end = prevQuarterEnd;
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
default:
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
if (start && end) {
|
|
243
|
+
this.selectedDate = [start, end];
|
|
244
|
+
this.dateRangeChange.emit(this.selectedDate);
|
|
245
|
+
this.selectedPreset = preset;
|
|
246
|
+
this.customRangeMode = false;
|
|
247
|
+
}
|
|
248
|
+
try {
|
|
249
|
+
this.overlayPanel?.hide();
|
|
250
|
+
}
|
|
251
|
+
catch (e) { }
|
|
252
|
+
}
|
|
253
|
+
onDateRangeChange(dateRange) {
|
|
254
|
+
this.dateRangeChange.emit(dateRange);
|
|
255
|
+
if (dateRange && Array.isArray(dateRange)) {
|
|
256
|
+
this.selectedPreset = this.detectPreset(dateRange[0], dateRange[1]);
|
|
257
|
+
this.customRangeMode = false;
|
|
258
|
+
}
|
|
259
|
+
else if (!dateRange) {
|
|
260
|
+
this.selectedPreset = null;
|
|
261
|
+
this.customRangeMode = false;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AtomixDaterangeCalendarComponent, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
265
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AtomixDaterangeCalendarComponent, selector: "atomix-daterange-calendar", inputs: { placeholder: "placeholder", styleClass: "styleClass", selectionMode: "selectionMode", inputStyleClass: "inputStyleClass", disabled: "disabled", selectedDate: "selectedDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { dateRangeChange: "dateRangeChange" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <div class=\"input-wrapper\">\n <input\n pInputText\n type=\"text\"\n [ngClass]=\"inputStyleClass\"\n [placeholder]=\"placeholder\"\n [value]=\"getDateRangeLabel()\"\n readonly\n [disabled]=\"disabled\"\n (click)=\"op.toggle($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n />\n <i *ngIf=\"hasSelection\" class=\"pi pi-times input-clear-icon\" title=\"Clear\" tabindex=\"0\" (click)=\"clearAndStop($event)\" (keydown.enter)=\"clearAndStop($event)\" (keydown.space)=\"clearAndStop($event)\"></i>\n <i class=\"pi pi-calendar input-icon\" title=\"Open calendar\" (click)=\"op.toggle($event)\"></i>\n </div>\n <p-overlayPanel #op [dismissable]=\"true\" appendTo=\"body\" styleClass=\"atomix-date-range-overlay\">\n <div class=\"overlay-inner\">\n <div class=\"overlay-left\">\n <div class=\"preset-list\">\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('today')\" [ngClass]=\"{ 'active': selectedPreset === 'today' }\" label=\"Today\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('yesterday')\" [ngClass]=\"{ 'active': selectedPreset === 'yesterday' }\" label=\"Yesterday\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastWeek')\" [ngClass]=\"{ 'active': selectedPreset === 'lastWeek' }\" label=\"Last week\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastMonth')\" [ngClass]=\"{ 'active': selectedPreset === 'lastMonth' }\" label=\"Last month\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastQuarter')\" [ngClass]=\"{ 'active': selectedPreset === 'lastQuarter' }\" label=\"Last quarter\"></button>\n <!-- <button pButton pRipple type=\"button\" class=\"preset-btn p-button-outlined\" (click)=\"toggleCustomRange()\" [ngClass]=\"{ 'custom-active': customRangeMode }\" label=\"Custom range\"></button> -->\n </div>\n <a class=\"reset-link\" (click)=\"resetAndClose()\">Reset</a>\n </div>\n <div class=\"overlay-right\">\n <p-calendar [(ngModel)]=\"selectedDate\" [selectionMode]=\"'range'\" [inline]=\"true\" [dateFormat]=\"'mm/dd/yyyy'\" [showOtherMonths]=\"true\" [locale]=\"enLocale\" [showIcon]=\"false\" [styleClass]=\"'atomix-overlay-calendar'\" (ngModelChange)=\"onDateRangeChange($event)\" [disabled]=\"disabled\" [maxDate]=\"maxDate\" [minDate]=\"minDate\"></p-calendar>\n <!-- <div class=\"overlay-actions\" *ngIf=\"!inline\">\n <button pButton pRipple type=\"button\" class=\"p-button-help p-button-sm\" (click)=\"applyCustomRange()\">Apply</button>\n <button pButton pRipple type=\"button\" class=\"p-button-text p-button-sm\" (click)=\"resetAndClose()\">Cancel</button>\n </div> -->\n </div>\n </div>\n </p-overlayPanel>\n</div>\n", styles: ["::ng-deep .p-calendar{button{background-color:transparent!important}}.overlay-inner{display:flex;gap:1rem;align-items:flex-start;flex-wrap:nowrap}.overlay-left{padding-right:.75rem;display:flex;flex-direction:column;gap:.5rem}.input-wrapper{display:flex;align-items:center;gap:.5rem;width:100%;position:relative}.input-wrapper input[readonly]{cursor:pointer;padding-right:48px;border-radius:30px}.input-icon{cursor:pointer;color:#0000008a;position:absolute;right:10px}.input-clear-icon{cursor:pointer;color:#0000008a;position:absolute;right:36px}.preset-list{display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0 0 6rem}.preset-btn{justify-content:flex-start;text-align:left;padding-left:8px}.preset-btn .p-button-label{display:inline-block}.preset-btn:not(.p-button-outlined){background-color:transparent;color:#111827}.preset-btn:hover{background-color:#f3f6f9}.preset-btn.active,.preset-btn.p-button.active,.preset-btn.custom-active,.preset-btn.p-button.custom-active{background-color:#e6f4ea!important;border-color:#63b77e!important;color:#063f23!important;font-weight:600}.reset-link{text-align:center;cursor:pointer}.atomix-date-range-overlay .overlay-left .reset-link{display:inline-block;margin-top:1rem;color:#2196f3;cursor:pointer}.overlay-right{flex:1}.overlay-inner.inline{flex-direction:row}:host ::ng-deep .p-column-filter-menu .overlay-inner.inline{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}:host ::ng-deep .p-overlaypanel .overlay-inner.inline{display:flex!important;flex-direction:row!important}.overlay-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.atomix-overlay-calendar ::ng-deep .p-datepicker{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
266
|
+
}
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AtomixDaterangeCalendarComponent, decorators: [{
|
|
268
|
+
type: Component,
|
|
269
|
+
args: [{ selector: 'atomix-daterange-calendar', template: "<div>\n <div class=\"input-wrapper\">\n <input\n pInputText\n type=\"text\"\n [ngClass]=\"inputStyleClass\"\n [placeholder]=\"placeholder\"\n [value]=\"getDateRangeLabel()\"\n readonly\n [disabled]=\"disabled\"\n (click)=\"op.toggle($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n />\n <i *ngIf=\"hasSelection\" class=\"pi pi-times input-clear-icon\" title=\"Clear\" tabindex=\"0\" (click)=\"clearAndStop($event)\" (keydown.enter)=\"clearAndStop($event)\" (keydown.space)=\"clearAndStop($event)\"></i>\n <i class=\"pi pi-calendar input-icon\" title=\"Open calendar\" (click)=\"op.toggle($event)\"></i>\n </div>\n <p-overlayPanel #op [dismissable]=\"true\" appendTo=\"body\" styleClass=\"atomix-date-range-overlay\">\n <div class=\"overlay-inner\">\n <div class=\"overlay-left\">\n <div class=\"preset-list\">\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('today')\" [ngClass]=\"{ 'active': selectedPreset === 'today' }\" label=\"Today\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('yesterday')\" [ngClass]=\"{ 'active': selectedPreset === 'yesterday' }\" label=\"Yesterday\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastWeek')\" [ngClass]=\"{ 'active': selectedPreset === 'lastWeek' }\" label=\"Last week\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastMonth')\" [ngClass]=\"{ 'active': selectedPreset === 'lastMonth' }\" label=\"Last month\"></button>\n <button pButton pRipple type=\"button\" class=\"preset-btn\" (click)=\"applyPreset('lastQuarter')\" [ngClass]=\"{ 'active': selectedPreset === 'lastQuarter' }\" label=\"Last quarter\"></button>\n <!-- <button pButton pRipple type=\"button\" class=\"preset-btn p-button-outlined\" (click)=\"toggleCustomRange()\" [ngClass]=\"{ 'custom-active': customRangeMode }\" label=\"Custom range\"></button> -->\n </div>\n <a class=\"reset-link\" (click)=\"resetAndClose()\">Reset</a>\n </div>\n <div class=\"overlay-right\">\n <p-calendar [(ngModel)]=\"selectedDate\" [selectionMode]=\"'range'\" [inline]=\"true\" [dateFormat]=\"'mm/dd/yyyy'\" [showOtherMonths]=\"true\" [locale]=\"enLocale\" [showIcon]=\"false\" [styleClass]=\"'atomix-overlay-calendar'\" (ngModelChange)=\"onDateRangeChange($event)\" [disabled]=\"disabled\" [maxDate]=\"maxDate\" [minDate]=\"minDate\"></p-calendar>\n <!-- <div class=\"overlay-actions\" *ngIf=\"!inline\">\n <button pButton pRipple type=\"button\" class=\"p-button-help p-button-sm\" (click)=\"applyCustomRange()\">Apply</button>\n <button pButton pRipple type=\"button\" class=\"p-button-text p-button-sm\" (click)=\"resetAndClose()\">Cancel</button>\n </div> -->\n </div>\n </div>\n </p-overlayPanel>\n</div>\n", styles: ["::ng-deep .p-calendar{button{background-color:transparent!important}}.overlay-inner{display:flex;gap:1rem;align-items:flex-start;flex-wrap:nowrap}.overlay-left{padding-right:.75rem;display:flex;flex-direction:column;gap:.5rem}.input-wrapper{display:flex;align-items:center;gap:.5rem;width:100%;position:relative}.input-wrapper input[readonly]{cursor:pointer;padding-right:48px;border-radius:30px}.input-icon{cursor:pointer;color:#0000008a;position:absolute;right:10px}.input-clear-icon{cursor:pointer;color:#0000008a;position:absolute;right:36px}.preset-list{display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0 0 6rem}.preset-btn{justify-content:flex-start;text-align:left;padding-left:8px}.preset-btn .p-button-label{display:inline-block}.preset-btn:not(.p-button-outlined){background-color:transparent;color:#111827}.preset-btn:hover{background-color:#f3f6f9}.preset-btn.active,.preset-btn.p-button.active,.preset-btn.custom-active,.preset-btn.p-button.custom-active{background-color:#e6f4ea!important;border-color:#63b77e!important;color:#063f23!important;font-weight:600}.reset-link{text-align:center;cursor:pointer}.atomix-date-range-overlay .overlay-left .reset-link{display:inline-block;margin-top:1rem;color:#2196f3;cursor:pointer}.overlay-right{flex:1}.overlay-inner.inline{flex-direction:row}:host ::ng-deep .p-column-filter-menu .overlay-inner.inline{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}:host ::ng-deep .p-overlaypanel .overlay-inner.inline{display:flex!important;flex-direction:row!important}.overlay-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.atomix-overlay-calendar ::ng-deep .p-datepicker{width:100%}\n"] }]
|
|
270
|
+
}], ctorParameters: () => [{ type: i1.DatePipe }], propDecorators: { placeholder: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], styleClass: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], selectionMode: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], inputStyleClass: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], disabled: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], selectedDate: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], maxDate: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], minDate: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], overlayPanel: [{
|
|
287
|
+
type: ViewChild,
|
|
288
|
+
args: ['op']
|
|
289
|
+
}], dateRangeChange: [{
|
|
290
|
+
type: Output
|
|
291
|
+
}] } });
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWl4LWRhdGVyYW5nZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmltZWtpdC9zcmMvbGliL2xpYi9hdG9taXgtZGF0ZXJhbmdlLWNhbGVuZGFyL2F0b21peC1kYXRlcmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJpbWVraXQvc3JjL2xpYi9saWIvYXRvbWl4LWRhdGVyYW5nZS1jYWxlbmRhci9hdG9taXgtZGF0ZXJhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFTNUcsTUFBTSxPQUFPLGdDQUFnQztJQTREdkI7SUEzRFgsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLGFBQWEsR0FBWSxPQUFPLENBQUM7SUFDakMsZUFBZSxHQUFXLEVBQUUsQ0FBQztJQUM3QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBQ25DLE9BQU8sQ0FBUTtJQUNmLE9BQU8sQ0FBUTtJQUV4QixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGNBQWMsR0FBa0IsSUFBSSxDQUFDLENBQUMscUZBQXFGO0lBQzFHLFlBQVksQ0FBZ0I7SUFDbkMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBRTlELFFBQVEsR0FBRztRQUNULGNBQWMsRUFBRSxDQUFDO1FBQ2pCLFFBQVEsRUFBRTtZQUNSLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULFdBQVc7WUFDWCxVQUFVO1lBQ1YsUUFBUTtZQUNSLFVBQVU7U0FDWDtRQUNE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Q0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7d0dBdlBVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLDZjQ1Q3QyxpK0ZBdUNBOzs0RkQ5QmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDJCQUEyQjs2RUFLNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJVyxZQUFZO3NCQUE1QixTQUFTO3VCQUFDLElBQUk7Z0JBQ0wsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdG9taXgtZGF0ZXJhbmdlLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0b21peC1kYXRlcmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdG9taXgtZGF0ZXJhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXRvbWl4RGF0ZXJhbmdlQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlOiAncmFuZ2UnID0gJ3JhbmdlJztcbiAgQElucHV0KCkgaW5wdXRTdHlsZUNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlW10gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWF4RGF0ZSE6IERhdGU7XG4gIEBJbnB1dCgpIG1pbkRhdGUhOiBEYXRlO1xuXG4gIGN1c3RvbVJhbmdlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFByZXNldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7IC8vICd0b2RheScgfCAneWVzdGVyZGF5JyB8ICdsYXN0V2VlaycgfCAnbGFzdE1vbnRoJyB8ICdsYXN0UXVhcnRlcicgfCAnY3VzdG9tJyB8IG51bGxcbiAgQFZpZXdDaGlsZCgnb3AnKSBvdmVybGF5UGFuZWwhOiBPdmVybGF5UGFuZWw7XG4gIEBPdXRwdXQoKSBkYXRlUmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXSB8IG51bGw+KCk7XG5cbiAgZW5Mb2NhbGUgPSB7XG4gICAgZmlyc3REYXlPZldlZWs6IDAsXG4gICAgZGF5TmFtZXM6IFtcbiAgICAgICdTdW5kYXknLFxuICAgICAgJ01vbmRheScsXG4gICAgICAnVHVlc2RheScsXG4gICAgICAnV2VkbmVzZGF5JyxcbiAgICAgICdUaHVyc2RheScsXG4gICAgICAnRnJpZGF5JyxcbiAgICAgICdTYXR1cmRheScsXG4gICAgXSxcbiAgICBkYXlOYW1lc1Nob3J0OiBbJ1N1bicsICdNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCddLFxuICAgIGRheU5hbWVzTWluOiBbJ1N1JywgJ01vJywgJ1R1JywgJ1dlJywgJ1RoJywgJ0ZyJywgJ1NhJ10sXG4gICAgbW9udGhOYW1lczogW1xuICAgICAgJ0phbnVhcnknLFxuICAgICAgJ0ZlYnJ1YXJ5JyxcbiAgICAgICdNYXJjaCcsXG4gICAgICAnQXByaWwnLFxuICAgICAgJ01heScsXG4gICAgICAnSnVuZScsXG4gICAgICAnSnVseScsXG4gICAgICAnQXVndXN0JyxcbiAgICAgICdTZXB0ZW1iZXInLFxuICAgICAgJ09jdG9iZXInLFxuICAgICAgJ05vdmVtYmVyJyxcbiAgICAgICdEZWNlbWJlcicsXG4gICAgXSxcbiAgICBtb250aE5hbWVzU2hvcnQ6IFtcbiAgICAgICdKYW4nLFxuICAgICAgJ0ZlYicsXG4gICAgICAnTWFyJyxcbiAgICAgICdBcHInLFxuICAgICAgJ01heScsXG4gICAgICAnSnVuJyxcbiAgICAgICdKdWwnLFxuICAgICAgJ0F1ZycsXG4gICAgICAnU2VwJyxcbiAgICAgICdPY3QnLFxuICAgICAgJ05vdicsXG4gICAgICAnRGVjJyxcbiAgICBdLFxuICAgIHRvZGF5OiAnVG9kYXknLFxuICAgIGNsZWFyOiAnQ2xlYXInLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWREYXRlJ10pIHtcbiAgICAgIGNvbnN0IHNlbCA9IGNoYW5nZXNbJ3NlbGVjdGVkRGF0ZSddLmN1cnJlbnRWYWx1ZSBhcyBEYXRlW10gfCBudWxsO1xuICAgICAgaWYgKHNlbCAmJiBBcnJheS5pc0FycmF5KHNlbCkgJiYgc2VsLmxlbmd0aCA9PT0gMiAmJiBzZWxbMF0gJiYgc2VsWzFdKSB7XG4gICAgICAgIGNvbnN0IHByZXNldCA9IHRoaXMuZGV0ZWN0UHJlc2V0KHNlbFswXSwgc2VsWzFdKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByZXNldCA9IHByZXNldCA/PyAnY3VzdG9tJztcbiAgICAgIH0gZWxzZSBpZiAoc2VsID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByZXNldCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0cnkgeyB0aGlzLm92ZXJsYXlQYW5lbD8udG9nZ2xlKGV2ZW50IGFzIGFueSk7IH0gY2F0Y2ggKGUpIHt9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQW5kU3RvcChldmVudDogRXZlbnQpIHtcbiAgICAvLyBQcmV2ZW50IHRvZ2dsZSBmcm9tIGhhcHBlbmluZyB3aGVuIGNsZWFyIGljb24gaXMgY2xpY2tlZFxuICAgIHRyeSB7IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB9IGNhdGNoIChlKSB7fVxuICAgIHRyeSB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IH0gY2F0Y2ggKGUpIHt9XG4gICAgdGhpcy5jbGVhckRhdGVSYW5nZSgpO1xuICB9XG5cbiAgZ2V0IGhhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbihcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZERhdGUpICYmXG4gICAgICAgICh0aGlzLnNlbGVjdGVkRGF0ZSBhcyBEYXRlW10pLmxlbmd0aCA9PT0gMiAmJlxuICAgICAgICAhISh0aGlzLnNlbGVjdGVkRGF0ZSBhcyBEYXRlW10pWzBdICYmXG4gICAgICAgICEhKHRoaXMuc2VsZWN0ZWREYXRlIGFzIERhdGVbXSlbMV1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVEYXRlKGQ6IERhdGUpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZC5nZXRGdWxsWWVhcigpLCBkLmdldE1vbnRoKCksIGQuZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTYW1lRGF0ZShhOiBEYXRlLCBiOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGEuZ2V0RnVsbFllYXIoKSA9PT0gYi5nZXRGdWxsWWVhcigpICYmXG4gICAgICBhLmdldE1vbnRoKCkgPT09IGIuZ2V0TW9udGgoKSAmJlxuICAgICAgYS5nZXREYXRlKCkgPT09IGIuZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0UHJlc2V0KHN0YXJ0UmF3OiBEYXRlLCBlbmRSYXc6IERhdGUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMubm9ybWFsaXplRGF0ZShzdGFydFJhdyk7XG4gICAgY29uc3QgZW5kID0gdGhpcy5ub3JtYWxpemVEYXRlKGVuZFJhdyk7XG4gICAgY29uc3QgdG9kYXkgPSB0aGlzLm5vcm1hbGl6ZURhdGUobmV3IERhdGUoKSk7XG4gICAgLy8gdG9kYXlcbiAgICBpZiAodGhpcy5pc1NhbWVEYXRlKHN0YXJ0LCB0b2RheSkgJiYgdGhpcy5pc1NhbWVEYXRlKGVuZCwgdG9kYXkpKSByZXR1cm4gJ3RvZGF5JztcbiAgICAvLyB5ZXN0ZXJkYXlcbiAgICBjb25zdCB5ID0gbmV3IERhdGUodG9kYXkpO1xuICAgIHkuc2V0RGF0ZSh5LmdldERhdGUoKSAtIDEpO1xuICAgIGlmICh0aGlzLmlzU2FtZURhdGUoc3RhcnQsIHkpICYmIHRoaXMuaXNTYW1lRGF0ZShlbmQsIHkpKSByZXR1cm4gJ3llc3RlcmRheSc7XG4gICAgLy8gbGFzdFdlZWsgKGxhc3QgNyBkYXlzIHdoZXJlIGVuZCA9IHllc3RlcmRheSBhbmQgc3RhcnQgPSBlbmQgLSA2KVxuICAgIGNvbnN0IGx3RW5kID0gbmV3IERhdGUodG9kYXkpO1xuICAgIGx3RW5kLnNldERhdGUobHdFbmQuZ2V0RGF0ZSgpIC0gMSk7XG4gICAgY29uc3QgbHdTdGFydCA9IG5ldyBEYXRlKGx3RW5kKTtcbiAgICBsd1N0YXJ0LnNldERhdGUobHdFbmQuZ2V0RGF0ZSgpIC0gNik7XG4gICAgaWYgKHRoaXMuaXNTYW1lRGF0ZShzdGFydCwgbHdTdGFydCkgJiYgdGhpcy5pc1NhbWVEYXRlKGVuZCwgbHdFbmQpKSByZXR1cm4gJ2xhc3RXZWVrJztcbiAgICAvLyBsYXN0TW9udGhcbiAgICBjb25zdCBmaXJzdERheU9mQ3VycmVudE1vbnRoID0gbmV3IERhdGUodG9kYXkuZ2V0RnVsbFllYXIoKSwgdG9kYXkuZ2V0TW9udGgoKSwgMSk7XG4gICAgY29uc3QgbGFzdERheU9mUHJldk1vbnRoID0gbmV3IERhdGUoZmlyc3REYXlPZkN1cnJlbnRNb250aCk7XG4gICAgbGFzdERheU9mUHJldk1vbnRoLnNldERhdGUoMCk7XG4gICAgY29uc3QgZmlyc3REYXlPZlByZXZNb250aCA9IG5ldyBEYXRlKGxhc3REYXlPZlByZXZNb250aC5nZXRGdWxsWWVhcigpLCBsYXN0RGF5T2ZQcmV2TW9udGguZ2V0TW9udGgoKSwgMSk7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pc1NhbWVEYXRlKHN0YXJ0LCBmaXJzdERheU9mUHJldk1vbnRoKSAmJlxuICAgICAgdGhpcy5pc1NhbWVEYXRlKGVuZCwgbGFzdERheU9mUHJldk1vbnRoKVxuICAgIClcbiAgICAgIHJldHVybiAnbGFzdE1vbnRoJztcbiAgICAvLyBsYXN0UXVhcnRlclxuICAgIGNvbnN0IG1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcbiAgICBjb25zdCBxdWFydGVyID0gTWF0aC5mbG9vcihtb250aCAvIDMpO1xuICAgIGNvbnN0IHByZXZRdWFydGVyRW5kTW9udGggPSBxdWFydGVyICogMyAtIDE7XG4gICAgY29uc3QgcHJldlF1YXJ0ZXJFbmQgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCBwcmV2UXVhcnRlckVuZE1vbnRoICsgMSwgMCk7XG4gICAgY29uc3QgcHJldlF1YXJ0ZXJTdGFydE1vbnRoID0gcHJldlF1YXJ0ZXJFbmRNb250aCAtIDI7XG4gICAgY29uc3QgcHJldlF1YXJ0ZXJTdGFydCA9IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIHByZXZRdWFydGVyU3RhcnRNb250aCwgMSk7XG4gICAgaWYgKHRoaXMuaXNTYW1lRGF0ZShzdGFydCwgcHJldlF1YXJ0ZXJTdGFydCkgJiYgdGhpcy5pc1NhbWVEYXRlKGVuZCwgcHJldlF1YXJ0ZXJFbmQpKSByZXR1cm4gJ2xhc3RRdWFydGVyJztcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNsZWFyRGF0ZVJhbmdlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICB0aGlzLmRhdGVSYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgICB0aGlzLnNlbGVjdGVkUHJlc2V0ID0gbnVsbDtcbiAgICB0aGlzLmN1c3RvbVJhbmdlTW9kZSA9IGZhbHNlO1xuICB9XG5cbiAgcmVzZXRBbmRDbG9zZSgpIHtcbiAgICB0aGlzLmNsZWFyRGF0ZVJhbmdlKCk7XG4gICAgaWYgKHRoaXMub3ZlcmxheVBhbmVsKSB7XG4gICAgICB0cnkgeyB0aGlzLm92ZXJsYXlQYW5lbC5oaWRlKCk7IH0gY2F0Y2ggKGUpIHt9XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ3VzdG9tUmFuZ2UoKSB7XG4gICAgdGhpcy5jdXN0b21SYW5nZU1vZGUgPSAhdGhpcy5jdXN0b21SYW5nZU1vZGU7XG4gICAgaWYgKHRoaXMuY3VzdG9tUmFuZ2VNb2RlKSB0aGlzLnNlbGVjdGVkUHJlc2V0ID0gJ2N1c3RvbSc7XG4gIH1cblxuICBhcHBseUN1c3RvbVJhbmdlKCkge1xuICAgIHRoaXMuZGF0ZVJhbmdlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIGlmICh0aGlzLm92ZXJsYXlQYW5lbCkge1xuICAgICAgdHJ5IHsgdGhpcy5vdmVybGF5UGFuZWwuaGlkZSgpOyB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgICB0aGlzLmN1c3RvbVJhbmdlTW9kZSA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXQgPSAnY3VzdG9tJztcbiAgfVxuXG4gIGdldERhdGVSYW5nZUxhYmVsKCkge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgfHwgIUFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZERhdGUpKSByZXR1cm4gdGhpcy5wbGFjZWhvbGRlciB8fCAnU2VsZWN0IGRhdGUgcmFuZ2UnO1xuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMuc2VsZWN0ZWREYXRlIGFzIERhdGVbXTtcbiAgICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHJldHVybiAnU2VsZWN0IGRhdGUgcmFuZ2UnO1xuICAgIGNvbnN0IHN0YXJ0U3RyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQsICdNTS9kZC95eXl5Jyk7XG4gICAgY29uc3QgZW5kU3RyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kLCAnTU0vZGQveXl5eScpO1xuICByZXR1cm4gYCR7c3RhcnRTdHJ9IOKAkyAke2VuZFN0cn1gO1xuICB9XG5cbiAgYXBwbHlQcmVzZXQocHJlc2V0OiAndG9kYXknfCd5ZXN0ZXJkYXknfCdsYXN0V2Vlayd8J2xhc3RNb250aCd8J2xhc3RRdWFydGVyJykge1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBsZXQgc3RhcnQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgc3dpdGNoIChwcmVzZXQpIHtcbiAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgc3RhcnQgPSBlbmQgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCB0b2RheS5nZXRNb250aCgpLCB0b2RheS5nZXREYXRlKCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgIGNvbnN0IHkgPSBuZXcgRGF0ZSh0b2RheSk7XG4gICAgICAgIHkuc2V0RGF0ZSh5LmdldERhdGUoKSAtIDEpO1xuICAgICAgICBzdGFydCA9IGVuZCA9IG5ldyBEYXRlKHkuZ2V0RnVsbFllYXIoKSwgeS5nZXRNb250aCgpLCB5LmdldERhdGUoKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGFzdFdlZWsnOiB7XG4gICAgICAgIGNvbnN0IGx3RW5kID0gbmV3IERhdGUodG9kYXkpO1xuICAgICAgICBsd0VuZC5zZXREYXRlKGx3RW5kLmdldERhdGUoKSAtIDEpO1xuICAgICAgICBjb25zdCBsd1N0YXJ0ID0gbmV3IERhdGUobHdFbmQpO1xuICAgICAgICBsd1N0YXJ0LnNldERhdGUobHdFbmQuZ2V0RGF0ZSgpIC0gNik7XG4gICAgICAgIHN0YXJ0ID0gbmV3IERhdGUobHdTdGFydC5nZXRGdWxsWWVhcigpLCBsd1N0YXJ0LmdldE1vbnRoKCksIGx3U3RhcnQuZ2V0RGF0ZSgpKTtcbiAgICAgICAgZW5kID0gbmV3IERhdGUobHdFbmQuZ2V0RnVsbFllYXIoKSwgbHdFbmQuZ2V0TW9udGgoKSwgbHdFbmQuZ2V0RGF0ZSgpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdsYXN0TW9udGgnOiB7XG4gICAgICAgIGNvbnN0IGZpcnN0RGF5T2ZDdXJyZW50TW9udGggPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCB0b2RheS5nZXRNb250aCgpLCAxKTtcbiAgICAgICAgY29uc3QgbGFzdERheU9mUHJldk1vbnRoID0gbmV3IERhdGUoZmlyc3REYXlPZkN1cnJlbnRNb250aCk7XG4gICAgICAgIGxhc3REYXlPZlByZXZNb250aC5zZXREYXRlKDApO1xuICAgICAgICBjb25zdCBmaXJzdERheU9mUHJldk1vbnRoID0gbmV3IERhdGUobGFzdERheU9mUHJldk1vbnRoLmdldEZ1bGxZZWFyKCksIGxhc3REYXlPZlByZXZNb250aC5nZXRNb250aCgpLCAxKTtcbiAgICAgICAgc3RhcnQgPSBuZXcgRGF0ZShmaXJzdERheU9mUHJldk1vbnRoLmdldEZ1bGxZZWFyKCksIGZpcnN0RGF5T2ZQcmV2TW9udGguZ2V0TW9udGgoKSwgMSk7XG4gICAgICAgIGVuZCA9IG5ldyBEYXRlKGxhc3REYXlPZlByZXZNb250aC5nZXRGdWxsWWVhcigpLCBsYXN0RGF5T2ZQcmV2TW9udGguZ2V0TW9udGgoKSwgbGFzdERheU9mUHJldk1vbnRoLmdldERhdGUoKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnbGFzdFF1YXJ0ZXInOiB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcbiAgICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IobW9udGggLyAzKTtcbiAgICAgICAgY29uc3QgcHJldlF1YXJ0ZXJFbmRNb250aCA9IHF1YXJ0ZXIgKiAzIC0gMTtcbiAgICAgICAgY29uc3QgcHJldlF1YXJ0ZXJFbmQgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCBwcmV2UXVhcnRlckVuZE1vbnRoICsgMSwgMCk7XG4gICAgICAgIGNvbnN0IHByZXZRdWFydGVyU3RhcnRNb250aCA9IHByZXZRdWFydGVyRW5kTW9udGggLSAyO1xuICAgICAgICBjb25zdCBwcmV2UXVhcnRlclN0YXJ0ID0gbmV3IERhdGUodG9kYXkuZ2V0RnVsbFllYXIoKSwgcHJldlF1YXJ0ZXJTdGFydE1vbnRoLCAxKTtcbiAgICAgICAgc3RhcnQgPSBwcmV2UXVhcnRlclN0YXJ0O1xuICAgICAgICBlbmQgPSBwcmV2UXVhcnRlckVuZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBbc3RhcnQsIGVuZF07XG4gICAgICB0aGlzLmRhdGVSYW5nZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXQgPSBwcmVzZXQ7XG4gICAgICB0aGlzLmN1c3RvbVJhbmdlTW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0cnkgeyB0aGlzLm92ZXJsYXlQYW5lbD8uaGlkZSgpOyB9IGNhdGNoIChlKSB7fVxuICB9XG5cbiAgb25EYXRlUmFuZ2VDaGFuZ2UoZGF0ZVJhbmdlOiBEYXRlW10gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlUmFuZ2VDaGFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xuICAgIGlmIChkYXRlUmFuZ2UgJiYgQXJyYXkuaXNBcnJheShkYXRlUmFuZ2UpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJlc2V0ID0gdGhpcy5kZXRlY3RQcmVzZXQoZGF0ZVJhbmdlWzBdLCBkYXRlUmFuZ2VbMV0pO1xuICAgICAgdGhpcy5jdXN0b21SYW5nZU1vZGUgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFkYXRlUmFuZ2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXQgPSBudWxsO1xuICAgICAgdGhpcy5jdXN0b21SYW5nZU1vZGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaW5wdXRTdHlsZUNsYXNzXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cImdldERhdGVSYW5nZUxhYmVsKClcIlxuICByZWFkb25seVxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwib3AudG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbklucHV0S2V5RG93bigkZXZlbnQpXCJcbiAgLz5cbiAgPGkgKm5nSWY9XCJoYXNTZWxlY3Rpb25cIiBjbGFzcz1cInBpIHBpLXRpbWVzIGlucHV0LWNsZWFyLWljb25cIiB0aXRsZT1cIkNsZWFyXCIgdGFiaW5kZXg9XCIwXCIgKGNsaWNrKT1cImNsZWFyQW5kU3RvcCgkZXZlbnQpXCIgKGtleWRvd24uZW50ZXIpPVwiY2xlYXJBbmRTdG9wKCRldmVudClcIiAoa2V5ZG93bi5zcGFjZSk9XCJjbGVhckFuZFN0b3AoJGV2ZW50KVwiPjwvaT5cbiAgPGkgY2xhc3M9XCJwaSBwaS1jYWxlbmRhciBpbnB1dC1pY29uXCIgdGl0bGU9XCJPcGVuIGNhbGVuZGFyXCIgKGNsaWNrKT1cIm9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxuICAgIDwvZGl2PlxuICAgIDxwLW92ZXJsYXlQYW5lbCAjb3AgW2Rpc21pc3NhYmxlXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBzdHlsZUNsYXNzPVwiYXRvbWl4LWRhdGUtcmFuZ2Utb3ZlcmxheVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktaW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktbGVmdFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmVzZXQtbGlzdFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicHJlc2V0LWJ0blwiIChjbGljayk9XCJhcHBseVByZXNldCgndG9kYXknKVwiIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZSc6IHNlbGVjdGVkUHJlc2V0ID09PSAndG9kYXknIH1cIiBsYWJlbD1cIlRvZGF5XCI+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwcmVzZXQtYnRuXCIgKGNsaWNrKT1cImFwcGx5UHJlc2V0KCd5ZXN0ZXJkYXknKVwiIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZSc6IHNlbGVjdGVkUHJlc2V0ID09PSAneWVzdGVyZGF5JyB9XCIgbGFiZWw9XCJZZXN0ZXJkYXlcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInByZXNldC1idG5cIiAoY2xpY2spPVwiYXBwbHlQcmVzZXQoJ2xhc3RXZWVrJylcIiBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBzZWxlY3RlZFByZXNldCA9PT0gJ2xhc3RXZWVrJyB9XCIgbGFiZWw9XCJMYXN0IHdlZWtcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInByZXNldC1idG5cIiAoY2xpY2spPVwiYXBwbHlQcmVzZXQoJ2xhc3RNb250aCcpXCIgW25nQ2xhc3NdPVwieyAnYWN0aXZlJzogc2VsZWN0ZWRQcmVzZXQgPT09ICdsYXN0TW9udGgnIH1cIiBsYWJlbD1cIkxhc3QgbW9udGhcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInByZXNldC1idG5cIiAoY2xpY2spPVwiYXBwbHlQcmVzZXQoJ2xhc3RRdWFydGVyJylcIiBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBzZWxlY3RlZFByZXNldCA9PT0gJ2xhc3RRdWFydGVyJyB9XCIgbGFiZWw9XCJMYXN0IHF1YXJ0ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicHJlc2V0LWJ0biBwLWJ1dHRvbi1vdXRsaW5lZFwiIChjbGljayk9XCJ0b2dnbGVDdXN0b21SYW5nZSgpXCIgW25nQ2xhc3NdPVwieyAnY3VzdG9tLWFjdGl2ZSc6IGN1c3RvbVJhbmdlTW9kZSB9XCIgbGFiZWw9XCJDdXN0b20gcmFuZ2VcIj48L2J1dHRvbj4gLS0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGEgY2xhc3M9XCJyZXNldC1saW5rXCIgKGNsaWNrKT1cInJlc2V0QW5kQ2xvc2UoKVwiPlJlc2V0PC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktcmlnaHRcIj5cbiAgICAgICAgICA8cC1jYWxlbmRhciBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiIFtzZWxlY3Rpb25Nb2RlXT1cIidyYW5nZSdcIiBbaW5saW5lXT1cInRydWVcIiBbZGF0ZUZvcm1hdF09XCInbW0vZGQveXl5eSdcIiBbc2hvd090aGVyTW9udGhzXT1cInRydWVcIiBbbG9jYWxlXT1cImVuTG9jYWxlXCIgW3Nob3dJY29uXT1cImZhbHNlXCIgW3N0eWxlQ2xhc3NdPVwiJ2F0b21peC1vdmVybGF5LWNhbGVuZGFyJ1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbWF4RGF0ZV09XCJtYXhEYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJvdmVybGF5LWFjdGlvbnNcIiAqbmdJZj1cIiFpbmxpbmVcIj5cbiAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInAtYnV0dG9uLWhlbHAgcC1idXR0b24tc21cIiAoY2xpY2spPVwiYXBwbHlDdXN0b21SYW5nZSgpXCI+QXBwbHk8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tc21cIiAoY2xpY2spPVwicmVzZXRBbmRDbG9zZSgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvcC1vdmVybGF5UGFuZWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -49,11 +49,11 @@ export class AtomixInputComponent {
|
|
|
49
49
|
this.inputEl?.nativeElement?.focus();
|
|
50
50
|
}
|
|
51
51
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AtomixInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AtomixInputComponent, selector: "atomix-input", inputs: { value: "value", name: "name", type: "type", placeholder: "placeholder", withSearchIcon: "withSearchIcon", searchIconPosition: "searchIconPosition", iconName: "iconName", containerClass: "containerClass", class: "class", disabled: "disabled", isCrossRequired: "isCrossRequired", label: "label", isLabelRequired: "isLabelRequired", autofocus: "autofocus" }, outputs: { valueChange: "valueChange", changeValueHandler: "changeValueHandler" }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" for=\"name\"\n >{{ label }}\n <span *ngIf=\"isLabelRequired\" class=\"lib-error-asterisk\">*</span></label\n>\n\n<i\n class=\"pi pi-search search-icon\"\n [ngClass]=\"(searchIconPosition === 'left' ? 'search-icon-left' : 'search-icon-right') + (label ? ' with-label' : '')\"\n *ngIf=\"withSearchIcon\"\n></i>\n\n<input\n [id]=\"name\"\n type=\"text\"\n pInputText\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnter()\"\n [ngClass]=\"class + ' lib-input-field' + (withSearchIcon ? ' with-search-icon-' + searchIconPosition : '') + (isCrossRequired ? ' with-cross-icon' : '')\"\n autocomplete=\"new-password\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n #inputEl\n/>\n<i\n class=\"pi pi-times filter-dropdown-icon\"\n [ngClass]=\"(searchIconPosition === 'right' ? 'filter-dropdown-icon-left' : '') + (label ? ' with-label' : '')\"\n style=\"cursor: pointer\"\n (click)=\"clearValue()\"\n *ngIf=\"isCrossRequired && value !== ''\"\n\n></i>\n", styles: [".lib-error-asterisk{color:red}.filter-dropdown-icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:1;cursor:pointer;color:#6c757d}.filter-dropdown-icon-left{right:40px}.search-icon.with-label,.filter-dropdown-icon.with-label{top:88%}.search-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:1;color:#000000de;font-size:1rem}.search-icon-left{left:10px}.search-icon-right{right:10px}.with-search-icon-left{padding-left:30px}.with-search-icon-right{padding-right:60px}::ng-deep .lib-input-field{border-radius:30px
|
|
52
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AtomixInputComponent, selector: "atomix-input", inputs: { value: "value", name: "name", type: "type", placeholder: "placeholder", withSearchIcon: "withSearchIcon", searchIconPosition: "searchIconPosition", iconName: "iconName", containerClass: "containerClass", class: "class", disabled: "disabled", isCrossRequired: "isCrossRequired", label: "label", isLabelRequired: "isLabelRequired", autofocus: "autofocus" }, outputs: { valueChange: "valueChange", changeValueHandler: "changeValueHandler" }, viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" for=\"name\"\n >{{ label }}\n <span *ngIf=\"isLabelRequired\" class=\"lib-error-asterisk\">*</span></label\n>\n\n<i\n class=\"pi pi-search search-icon\"\n [ngClass]=\"(searchIconPosition === 'left' ? 'search-icon-left' : 'search-icon-right') + (label ? ' with-label' : '')\"\n *ngIf=\"withSearchIcon\"\n (click)=\"onEnter()\"\n></i>\n\n<input\n [id]=\"name\"\n type=\"text\"\n pInputText\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnter()\"\n [ngClass]=\"class + ' lib-input-field' + (withSearchIcon ? ' with-search-icon-' + searchIconPosition : '') + (isCrossRequired ? ' with-cross-icon' : '')\"\n autocomplete=\"new-password\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n #inputEl\n/>\n<i\n class=\"pi pi-times filter-dropdown-icon\"\n [ngClass]=\"(withSearchIcon && searchIconPosition === 'right' ? 'filter-dropdown-icon-left' : '') + (label ? ' with-label' : '')\"\n style=\"cursor: pointer\"\n (click)=\"clearValue()\"\n *ngIf=\"isCrossRequired && value !== ''\"\n\n></i>\n", styles: [".lib-error-asterisk{color:red}.filter-dropdown-icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:1;cursor:pointer;color:#6c757d}.filter-dropdown-icon-left{right:40px}.search-icon.with-label,.filter-dropdown-icon.with-label{top:88%}.search-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:1;color:#000000de;font-size:1rem}.search-icon-left{left:10px}.search-icon-right{right:10px}.with-search-icon-left{padding-left:30px;padding-right:30px}.with-search-icon-right{padding-right:60px}::ng-deep .lib-input-field{border-radius:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.InputText, selector: "[pInputText]", inputs: ["variant"] }] });
|
|
53
53
|
}
|
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AtomixInputComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
|
-
args: [{ selector: 'atomix-input', template: "<label *ngIf=\"label\" for=\"name\"\n >{{ label }}\n <span *ngIf=\"isLabelRequired\" class=\"lib-error-asterisk\">*</span></label\n>\n\n<i\n class=\"pi pi-search search-icon\"\n [ngClass]=\"(searchIconPosition === 'left' ? 'search-icon-left' : 'search-icon-right') + (label ? ' with-label' : '')\"\n *ngIf=\"withSearchIcon\"\n></i>\n\n<input\n [id]=\"name\"\n type=\"text\"\n pInputText\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnter()\"\n [ngClass]=\"class + ' lib-input-field' + (withSearchIcon ? ' with-search-icon-' + searchIconPosition : '') + (isCrossRequired ? ' with-cross-icon' : '')\"\n autocomplete=\"new-password\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n #inputEl\n/>\n<i\n class=\"pi pi-times filter-dropdown-icon\"\n [ngClass]=\"(searchIconPosition === 'right' ? 'filter-dropdown-icon-left' : '') + (label ? ' with-label' : '')\"\n style=\"cursor: pointer\"\n (click)=\"clearValue()\"\n *ngIf=\"isCrossRequired && value !== ''\"\n\n></i>\n", styles: [".lib-error-asterisk{color:red}.filter-dropdown-icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:1;cursor:pointer;color:#6c757d}.filter-dropdown-icon-left{right:40px}.search-icon.with-label,.filter-dropdown-icon.with-label{top:88%}.search-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:1;color:#000000de;font-size:1rem}.search-icon-left{left:10px}.search-icon-right{right:10px}.with-search-icon-left{padding-left:30px}.with-search-icon-right{padding-right:60px}::ng-deep .lib-input-field{border-radius:30px
|
|
56
|
+
args: [{ selector: 'atomix-input', template: "<label *ngIf=\"label\" for=\"name\"\n >{{ label }}\n <span *ngIf=\"isLabelRequired\" class=\"lib-error-asterisk\">*</span></label\n>\n\n<i\n class=\"pi pi-search search-icon\"\n [ngClass]=\"(searchIconPosition === 'left' ? 'search-icon-left' : 'search-icon-right') + (label ? ' with-label' : '')\"\n *ngIf=\"withSearchIcon\"\n (click)=\"onEnter()\"\n></i>\n\n<input\n [id]=\"name\"\n type=\"text\"\n pInputText\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnter()\"\n [ngClass]=\"class + ' lib-input-field' + (withSearchIcon ? ' with-search-icon-' + searchIconPosition : '') + (isCrossRequired ? ' with-cross-icon' : '')\"\n autocomplete=\"new-password\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n #inputEl\n/>\n<i\n class=\"pi pi-times filter-dropdown-icon\"\n [ngClass]=\"(withSearchIcon && searchIconPosition === 'right' ? 'filter-dropdown-icon-left' : '') + (label ? ' with-label' : '')\"\n style=\"cursor: pointer\"\n (click)=\"clearValue()\"\n *ngIf=\"isCrossRequired && value !== ''\"\n\n></i>\n", styles: [".lib-error-asterisk{color:red}.filter-dropdown-icon{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:1;cursor:pointer;color:#6c757d}.filter-dropdown-icon-left{right:40px}.search-icon.with-label,.filter-dropdown-icon.with-label{top:88%}.search-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:1;color:#000000de;font-size:1rem}.search-icon-left{left:10px}.search-icon-right{right:10px}.with-search-icon-left{padding-left:30px;padding-right:30px}.with-search-icon-right{padding-right:60px}::ng-deep .lib-input-field{border-radius:30px}\n"] }]
|
|
57
57
|
}], propDecorators: { inputEl: [{
|
|
58
58
|
type: ViewChild,
|
|
59
59
|
args: ['inputEl']
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
90
90
|
}], changeValueHandler: [{
|
|
91
91
|
type: Output
|
|
92
92
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRvbWl4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByaW1la2l0L3NyYy9saWIvbGliL2F0b21peC1pbnB1dC9hdG9taXgtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJpbWVraXQvc3JjL2xpYi9saWIvYXRvbWl4LWlucHV0L2F0b21peC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU85RixNQUFNLE9BQU8sb0JBQW9CO0lBRVQsT0FBTyxDQUFnQztJQUNwRCxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsSUFBSSxHQUFXLE1BQU0sQ0FBQztJQUN0QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzFDLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsa0JBQWtCLEdBQXFCLE9BQU8sQ0FBQztJQUMvQyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLGNBQWMsR0FBVyxFQUFFLENBQUM7SUFDNUIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLGVBQWUsR0FBWSxJQUFJLENBQUM7SUFDaEMsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2hDLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0Isa0JBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV4RCxlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsZ0RBQWdEO1lBQ2hELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBWTtRQUN4QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFDQyxLQUFLO1FBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQzt3R0FoRFUsb0JBQW9COzRGQUFwQixvQkFBb0IseWxCQ1BqQyxza0NBa0NBOzs0RkQzQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OEJBTUYsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvbWl4LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0b21peC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F0b21peC1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF0b21peElucHV0Q29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsJykgaW5wdXRFbCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQElucHV0KCkgd2l0aFNlYXJjaEljb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoSWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcbiAgQElucHV0KCkgaWNvbk5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjb250YWluZXJDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNDcm9zc1JlcXVpcmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpc0xhYmVsUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgY2hhbmdlVmFsdWVIYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICAvLyBUaW1lb3V0IGVuc3VyZXMgaW5wdXQgaXMgYXZhaWxhYmxlIGluIHRoZSBET01cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnB1dEVsPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy52YWx1ZSA9IGlucHV0LnZhbHVlO1xuICAgIHRoaXMuY2hhbmdlVmFsdWVIYW5kbGVyLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cbiAgb25FbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cbiAgY2xlYXJWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gJyc7XG4gICAgdGhpcy5vbkVudGVyKCk7XG4gIH1cbiAgb25TZWFyY2hDbGVhcihldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChpbnB1dC52YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgnJyk7XG4gICAgfVxuICB9XG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICB9XG59XG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cIm5hbWVcIlxuICA+e3sgbGFiZWwgfX1cbiAgPHNwYW4gKm5nSWY9XCJpc0xhYmVsUmVxdWlyZWRcIiBjbGFzcz1cImxpYi1lcnJvci1hc3Rlcmlza1wiPio8L3NwYW4+PC9sYWJlbFxuPlxuXG48aVxuICBjbGFzcz1cInBpIHBpLXNlYXJjaCBzZWFyY2gtaWNvblwiXG4gIFtuZ0NsYXNzXT1cIihzZWFyY2hJY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/ICdzZWFyY2gtaWNvbi1sZWZ0JyA6ICdzZWFyY2gtaWNvbi1yaWdodCcpICsgKGxhYmVsID8gJyB3aXRoLWxhYmVsJyA6ICcnKVwiXG4gICpuZ0lmPVwid2l0aFNlYXJjaEljb25cIlxuICAoY2xpY2spPVwib25FbnRlcigpXCJcbj48L2k+XG5cbjxpbnB1dFxuICBbaWRdPVwibmFtZVwiXG4gIHR5cGU9XCJ0ZXh0XCJcbiAgcElucHV0VGV4dFxuICBbdmFsdWVdPVwidmFsdWVcIlxuICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKClcIlxuICBbbmdDbGFzc109XCJjbGFzcyArICcgbGliLWlucHV0LWZpZWxkJyArICh3aXRoU2VhcmNoSWNvbiA/ICcgd2l0aC1zZWFyY2gtaWNvbi0nICsgc2VhcmNoSWNvblBvc2l0aW9uIDogJycpICsgKGlzQ3Jvc3NSZXF1aXJlZCA/ICcgd2l0aC1jcm9zcy1pY29uJyA6ICcnKVwiXG4gIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFt0eXBlXT1cInR5cGVcIlxuICAjaW5wdXRFbFxuLz5cbjxpXG4gIGNsYXNzPVwicGkgcGktdGltZXMgZmlsdGVyLWRyb3Bkb3duLWljb25cIlxuICBbbmdDbGFzc109XCIod2l0aFNlYXJjaEljb24gJiYgc2VhcmNoSWNvblBvc2l0aW9uID09PSAncmlnaHQnID8gJ2ZpbHRlci1kcm9wZG93bi1pY29uLWxlZnQnIDogJycpICsgKGxhYmVsID8gJyB3aXRoLWxhYmVsJyA6ICcnKVwiXG4gIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcbiAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiXG4gICpuZ0lmPVwiaXNDcm9zc1JlcXVpcmVkICYmIHZhbHVlICE9PSAnJ1wiXG5cbj48L2k+XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DatePipe } from '@angular/common';
|
|
2
3
|
import { CommonModule } from '@angular/common';
|
|
3
4
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
5
|
// Primeng Components
|
|
@@ -7,6 +8,7 @@ import { DialogModule } from 'primeng/dialog';
|
|
|
7
8
|
import { CardModule } from 'primeng/card';
|
|
8
9
|
import { InputTextModule } from 'primeng/inputtext';
|
|
9
10
|
import { CalendarModule } from 'primeng/calendar';
|
|
11
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
10
12
|
import { DropdownModule } from 'primeng/dropdown';
|
|
11
13
|
import { TableModule } from 'primeng/table';
|
|
12
14
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
@@ -32,6 +34,7 @@ import { AtomixConfirmationDialogComponent } from './lib/atomix-confirmation-dia
|
|
|
32
34
|
import { AtomixInputComponent } from './lib/atomix-input/atomix-input.component';
|
|
33
35
|
import { AtomixButtonComponent } from './lib/atomix-button/atomix-button.component';
|
|
34
36
|
import { AtomixCalendarComponent } from './lib/atomix-calendar/atomix-calendar.component';
|
|
37
|
+
import { AtomixDaterangeCalendarComponent } from './lib/atomix-daterange-calendar/atomix-daterange-calendar.component';
|
|
35
38
|
import { AtomixDropdownComponent } from './lib/atomix-dropdown/atomix-dropdown.component';
|
|
36
39
|
import { AtomixTableComponent } from './lib/atomix-table/atomix-table.component';
|
|
37
40
|
import { AtomixSnackbarComponent } from './lib/atomix-snackbar/atomix-snackbar.component';
|
|
@@ -62,6 +65,7 @@ export class PrimekitModule {
|
|
|
62
65
|
AtomixConfirmationDialogComponent,
|
|
63
66
|
AtomixInputComponent,
|
|
64
67
|
AtomixCalendarComponent,
|
|
68
|
+
AtomixDaterangeCalendarComponent,
|
|
65
69
|
AtomixDropdownComponent,
|
|
66
70
|
AtomixTableComponent,
|
|
67
71
|
AtomixSnackbarComponent,
|
|
@@ -89,6 +93,7 @@ export class PrimekitModule {
|
|
|
89
93
|
DialogModule,
|
|
90
94
|
InputTextModule,
|
|
91
95
|
CalendarModule,
|
|
96
|
+
OverlayPanelModule,
|
|
92
97
|
DropdownModule,
|
|
93
98
|
FormsModule,
|
|
94
99
|
TableModule,
|
|
@@ -114,6 +119,7 @@ export class PrimekitModule {
|
|
|
114
119
|
AtomixConfirmationDialogComponent,
|
|
115
120
|
AtomixInputComponent,
|
|
116
121
|
AtomixCalendarComponent,
|
|
122
|
+
AtomixDaterangeCalendarComponent,
|
|
117
123
|
AtomixDropdownComponent,
|
|
118
124
|
AtomixTableComponent,
|
|
119
125
|
AtomixSnackbarComponent,
|
|
@@ -137,12 +143,13 @@ export class PrimekitModule {
|
|
|
137
143
|
AtomixSelectButtonComponent,
|
|
138
144
|
AtomixTagComponent,
|
|
139
145
|
AtomixSearchDropdownComponent] });
|
|
140
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrimekitModule, imports: [CommonModule,
|
|
146
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrimekitModule, providers: [DatePipe], imports: [CommonModule,
|
|
141
147
|
ButtonModule,
|
|
142
148
|
CardModule,
|
|
143
149
|
DialogModule,
|
|
144
150
|
InputTextModule,
|
|
145
151
|
CalendarModule,
|
|
152
|
+
OverlayPanelModule,
|
|
146
153
|
DropdownModule,
|
|
147
154
|
FormsModule,
|
|
148
155
|
TableModule,
|
|
@@ -174,6 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
174
181
|
AtomixConfirmationDialogComponent,
|
|
175
182
|
AtomixInputComponent,
|
|
176
183
|
AtomixCalendarComponent,
|
|
184
|
+
AtomixDaterangeCalendarComponent,
|
|
177
185
|
AtomixDropdownComponent,
|
|
178
186
|
AtomixTableComponent,
|
|
179
187
|
AtomixSnackbarComponent,
|
|
@@ -204,6 +212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
204
212
|
DialogModule,
|
|
205
213
|
InputTextModule,
|
|
206
214
|
CalendarModule,
|
|
215
|
+
OverlayPanelModule,
|
|
207
216
|
DropdownModule,
|
|
208
217
|
FormsModule,
|
|
209
218
|
TableModule,
|
|
@@ -226,12 +235,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
226
235
|
ChipModule,
|
|
227
236
|
ProgressBarModule,
|
|
228
237
|
], // Import the PrimeNG Module here
|
|
238
|
+
providers: [DatePipe],
|
|
229
239
|
exports: [
|
|
230
240
|
AtomixButtonComponent,
|
|
231
241
|
AtomixCardComponent,
|
|
232
242
|
AtomixConfirmationDialogComponent,
|
|
233
243
|
AtomixInputComponent,
|
|
234
244
|
AtomixCalendarComponent,
|
|
245
|
+
AtomixDaterangeCalendarComponent,
|
|
235
246
|
AtomixDropdownComponent,
|
|
236
247
|
AtomixTableComponent,
|
|
237
248
|
AtomixSnackbarComponent,
|
|
@@ -258,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
258
269
|
], // Export your component
|
|
259
270
|
}]
|
|
260
271
|
}] });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVraXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJpbWVraXQvc3JjL2xpYi9wcmltZWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7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QUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixpQkFBaUI7cUJBQ2xCLEVBQUUsaUNBQWlDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGlDQUFpQzt3QkFDakMsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQiw4QkFBOEI7d0JBQzlCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3FCQUM5QixFQUFFLHdCQUF3QjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLy8gUHJpbWVuZyBDb21wb25lbnRzXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYXJkJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9za2VsZXRvbic7XG5pbXBvcnQgeyBQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bWFzayc7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hlY2tib3gnO1xuaW1wb3J0IHsgQ2hpcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXBzJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Bhc3N3b3JkJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcbmltcG9ydCB7IEF1dG9Gb2N1c01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2ZvY3VzJztcbmltcG9ydCB7IFNlbGVjdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2VsZWN0YnV0dG9uJztcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFnJztcbmltcG9ydCB7IENoaXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXAnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzYmFyJztcbi8vIENvbW1vbiBDb21wb25lbnRzXG5pbXBvcnQgeyBBdG9taXhDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWNhcmQvYXRvbWl4LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1jb25maXJtYXRpb24tZGlhbG9nL2F0b21peC1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1pbnB1dC9hdG9taXgtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1idXR0b24vYXRvbWl4LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Q2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtY2FsZW5kYXIvYXRvbWl4LWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1kcm9wZG93bi9hdG9taXgtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXRhYmxlL2F0b21peC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4U25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtc25hY2tiYXIvYXRvbWl4LXNuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXBhZ2luYXRpb24vYXRvbWl4LXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1hdXRvY29tcGxldGUvYXRvbWl4LWZvcm0tYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1jYWxlbmRhci9hdG9taXgtZm9ybS1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0tY2hlY2tib3gvYXRvbWl4LWZvcm0tY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEZvcm1DaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLWNoaXBzL2F0b21peC1mb3JtLWNoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1kcm9wZG93bi9hdG9taXgtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0taW5wdXQtY29tcG9uZW50L2F0b21peC1mb3JtLWlucHV0LWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybUlucHV0bWFza0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLWlucHV0bWFzay1jb21wb25lbnQvYXRvbWl4LWZvcm0taW5wdXRtYXNrLWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0tcGFzc3dvcmQtY29tcG9uZW50L2F0b21peC1mb3JtLXBhc3N3b3JkLWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybVRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0tdGV4dGFyZWEvYXRvbWl4LWZvcm0tdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEZvcm1SYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLXJhZGlvLWJ1dHRvbi9hdG9taXgtcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1hbGVydC9hdG9taXgtYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peE1lc3NhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LW1lc3NhZ2VzL21lc3NhZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXNwaW5uZXIvYXRvbWl4LXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXJhZGlvLWJ1dHRvbi9hdG9taXgtcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhEeW5hbWljRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWR5bmFtaWMtZGlhbG9nL2F0b21peC1keW5hbWljLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4U2VsZWN0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXNlbGVjdC1idXR0b24vYXRvbWl4LXNlbGVjdC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFRhZ0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC10YWcvYXRvbWl4LXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4U2VhcmNoRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtc2VhcmNoLWRyb3Bkb3duL2F0b21peC1zZWFyY2gtZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXRvbWl4QnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peENhcmRDb21wb25lbnQsXG4gICAgQXRvbWl4Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIEF0b21peElucHV0Q29tcG9uZW50LFxuICAgIEF0b21peENhbGVuZGFyQ29tcG9uZW50LFxuICAgIEF0b21peERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEF0b21peFRhYmxlQ29tcG9uZW50LFxuICAgIEF0b21peFNuYWNrYmFyQ29tcG9uZW50LFxuICAgIEF0b21peFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUNoZWNrYm94Q29tcG9uZW50LFxuICAgIEF0b21peEZvcm1DaGlwc0NvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtRHJvcGRvd25Db21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUlucHV0Q29tcG9uZW50LFxuICAgIEF0b21peEZvcm1JbnB1dG1hc2tDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybVBhc3N3b3JkQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1UZXh0YXJlYUNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgQXRvbWl4VG9hc3RDb21wb25lbnQsXG4gICAgQXRvbWl4TWVzc2FnZXNDb21wb25lbnQsXG4gICAgQXRvbWl4U3Bpbm5lckNvbXBvbmVudCxcbiAgICBBdG9taXhSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBBdG9taXhEeW5hbWljRGlhbG9nQ29tcG9uZW50LFxuICAgIEF0b21peFNlbGVjdEJ1dHRvbkNvbXBvbmVudCxcbiAgICBBdG9taXhUYWdDb21wb25lbnQsXG4gICAgQXRvbWl4U2VhcmNoRHJvcGRvd25Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIENhcmRNb2R1bGUsXG4gICAgRGlhbG9nTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBTa2VsZXRvbk1vZHVsZSxcbiAgICBQYWdpbmF0b3JNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBDaGlwc01vZHVsZSxcbiAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgUGFzc3dvcmRNb2R1bGUsXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgTWVzc2FnZXNNb2R1bGUsXG4gICAgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIEF1dG9Gb2N1c01vZHVsZSxcbiAgICBTZWxlY3RCdXR0b25Nb2R1bGUsXG4gICAgVGFnTW9kdWxlLFxuICAgIENoaXBNb2R1bGUsXG4gICAgUHJvZ3Jlc3NCYXJNb2R1bGUsXG4gIF0sIC8vIEltcG9ydCB0aGUgUHJpbWVORyBNb2R1bGUgaGVyZVxuICBleHBvcnRzOiBbXG4gICAgQXRvbWl4QnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peENhcmRDb21wb25lbnQsXG4gICAgQXRvbWl4Q29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIEF0b21peElucHV0Q29tcG9uZW50LFxuICAgIEF0b21peENhbGVuZGFyQ29tcG9uZW50LFxuICAgIEF0b21peERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEF0b21peFRhYmxlQ29tcG9uZW50LFxuICAgIEF0b21peFNuYWNrYmFyQ29tcG9uZW50LFxuICAgIEF0b21peFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEF0b21peEZvcm1DYWxlbmRhckNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUNoaXBzQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1Ecm9wZG93bkNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUlucHV0bWFza0NvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtUGFzc3dvcmRDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybVRleHRhcmVhQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1SYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBBdG9taXhUb2FzdENvbXBvbmVudCxcbiAgICBBdG9taXhNZXNzYWdlc0NvbXBvbmVudCxcbiAgICBBdG9taXhTcGlubmVyQ29tcG9uZW50LFxuICAgIEF0b21peFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peER5bmFtaWNEaWFsb2dDb21wb25lbnQsXG4gICAgQXRvbWl4U2VsZWN0QnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peFRhZ0NvbXBvbmVudCxcbiAgICBBdG9taXhTZWFyY2hEcm9wZG93bkNvbXBvbmVudCxcbiAgXSwgLy8gRXhwb3J0IHlvdXIgY29tcG9uZW50XG59KVxuZXhwb3J0IGNsYXNzIFByaW1la2l0TW9kdWxlIHt9XG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVraXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJpbWVraXQvc3JjL2xpYi9wcmltZWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxxQkFBcUI7QUFDckIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7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OUIsRUFBRSx3QkFBd0I7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIFByaW1lbmcgQ29tcG9uZW50c1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FyZCc7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2tlbGV0b24nO1xuaW1wb3J0IHsgUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgSW5wdXRNYXNrTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG1hc2snO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcbmltcG9ydCB7IENoaXBzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGlwcyc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYXNzd29yZCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzc3Bpbm5lcic7XG5pbXBvcnQgeyBBdXRvRm9jdXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F1dG9mb2N1cyc7XG5pbXBvcnQgeyBTZWxlY3RCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NlbGVjdGJ1dHRvbic7XG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhZyc7XG5pbXBvcnQgeyBDaGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGlwJztcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc2Jhcic7XG4vLyBDb21tb24gQ29tcG9uZW50c1xuaW1wb3J0IHsgQXRvbWl4Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1jYXJkL2F0b21peC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtY29uZmlybWF0aW9uLWRpYWxvZy9hdG9taXgtY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtaW5wdXQvYXRvbWl4LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtYnV0dG9uL2F0b21peC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWNhbGVuZGFyL2F0b21peC1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4RGF0ZXJhbmdlQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZGF0ZXJhbmdlLWNhbGVuZGFyL2F0b21peC1kYXRlcmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWRyb3Bkb3duL2F0b21peC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtdGFibGUvYXRvbWl4LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1zbmFja2Jhci9hdG9taXgtc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtcGFnaW5hdGlvbi9hdG9taXgtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLWF1dG9jb21wbGV0ZS9hdG9taXgtZm9ybS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEZvcm1DYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLWNhbGVuZGFyL2F0b21peC1mb3JtLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1jaGVja2JveC9hdG9taXgtZm9ybS1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybUNoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0tY2hpcHMvYXRvbWl4LWZvcm0tY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peEZvcm1Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1mb3JtL2F0b21peC1mb3JtLWRyb3Bkb3duL2F0b21peC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1pbnB1dC1jb21wb25lbnQvYXRvbWl4LWZvcm0taW5wdXQtY29tcG9uZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtSW5wdXRtYXNrQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0taW5wdXRtYXNrLWNvbXBvbmVudC9hdG9taXgtZm9ybS1pbnB1dG1hc2stY29tcG9uZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS1wYXNzd29yZC1jb21wb25lbnQvYXRvbWl4LWZvcm0tcGFzc3dvcmQtY29tcG9uZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhGb3JtVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZm9ybS9hdG9taXgtZm9ybS10ZXh0YXJlYS9hdG9taXgtZm9ybS10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4Rm9ybVJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWZvcm0vYXRvbWl4LWZvcm0tcmFkaW8tYnV0dG9uL2F0b21peC1yYWRpby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LWFsZXJ0L2F0b21peC1hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4TWVzc2FnZXNDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtbWVzc2FnZXMvbWVzc2FnZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtc3Bpbm5lci9hdG9taXgtc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4UmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtcmFkaW8tYnV0dG9uL2F0b21peC1yYWRpby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEF0b21peER5bmFtaWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtZHluYW1pYy1kaWFsb2cvYXRvbWl4LWR5bmFtaWMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhTZWxlY3RCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9hdG9taXgtc2VsZWN0LWJ1dHRvbi9hdG9taXgtc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvbWl4VGFnQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYXRvbWl4LXRhZy9hdG9taXgtdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdG9taXhTZWFyY2hEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F0b21peC1zZWFyY2gtZHJvcGRvd24vYXRvbWl4LXNlYXJjaC1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdG9taXhCdXR0b25Db21wb25lbnQsXG4gICAgQXRvbWl4Q2FyZENvbXBvbmVudCxcbiAgICBBdG9taXhDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsXG4gICAgQXRvbWl4SW5wdXRDb21wb25lbnQsXG4gIEF0b21peENhbGVuZGFyQ29tcG9uZW50LFxuICBBdG9taXhEYXRlcmFuZ2VDYWxlbmRhckNvbXBvbmVudCxcbiAgICBBdG9taXhEcm9wZG93bkNvbXBvbmVudCxcbiAgICBBdG9taXhUYWJsZUNvbXBvbmVudCxcbiAgICBBdG9taXhTbmFja2JhckNvbXBvbmVudCxcbiAgICBBdG9taXhQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1BdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1DaGVja2JveENvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtQ2hpcHNDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybURyb3Bkb3duQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtSW5wdXRtYXNrQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1QYXNzd29yZENvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtVGV4dGFyZWFDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybVJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peFRvYXN0Q29tcG9uZW50LFxuICAgIEF0b21peE1lc3NhZ2VzQ29tcG9uZW50LFxuICAgIEF0b21peFNwaW5uZXJDb21wb25lbnQsXG4gICAgQXRvbWl4UmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgQXRvbWl4RHluYW1pY0RpYWxvZ0NvbXBvbmVudCxcbiAgICBBdG9taXhTZWxlY3RCdXR0b25Db21wb25lbnQsXG4gICAgQXRvbWl4VGFnQ29tcG9uZW50LFxuICAgIEF0b21peFNlYXJjaERyb3Bkb3duQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBDYXJkTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gIE92ZXJsYXlQYW5lbE1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUYWJsZU1vZHVsZSxcbiAgICBTa2VsZXRvbk1vZHVsZSxcbiAgICBQYWdpbmF0b3JNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBDaGlwc01vZHVsZSxcbiAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgUGFzc3dvcmRNb2R1bGUsXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXG4gICAgVG9hc3RNb2R1bGUsXG4gICAgTWVzc2FnZXNNb2R1bGUsXG4gICAgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIEF1dG9Gb2N1c01vZHVsZSxcbiAgICBTZWxlY3RCdXR0b25Nb2R1bGUsXG4gICAgVGFnTW9kdWxlLFxuICAgIENoaXBNb2R1bGUsXG4gICAgUHJvZ3Jlc3NCYXJNb2R1bGUsXG4gIF0sIC8vIEltcG9ydCB0aGUgUHJpbWVORyBNb2R1bGUgaGVyZVxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdG9taXhCdXR0b25Db21wb25lbnQsXG4gICAgQXRvbWl4Q2FyZENvbXBvbmVudCxcbiAgICBBdG9taXhDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsXG4gICAgQXRvbWl4SW5wdXRDb21wb25lbnQsXG4gICAgQXRvbWl4Q2FsZW5kYXJDb21wb25lbnQsXG4gIEF0b21peERhdGVyYW5nZUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIEF0b21peERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEF0b21peFRhYmxlQ29tcG9uZW50LFxuICAgIEF0b21peFNuYWNrYmFyQ29tcG9uZW50LFxuICAgIEF0b21peFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEF0b21peEZvcm1DYWxlbmRhckNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUNoaXBzQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1Ecm9wZG93bkNvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybUlucHV0bWFza0NvbXBvbmVudCxcbiAgICBBdG9taXhGb3JtUGFzc3dvcmRDb21wb25lbnQsXG4gICAgQXRvbWl4Rm9ybVRleHRhcmVhQ29tcG9uZW50LFxuICAgIEF0b21peEZvcm1SYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBBdG9taXhUb2FzdENvbXBvbmVudCxcbiAgICBBdG9taXhNZXNzYWdlc0NvbXBvbmVudCxcbiAgICBBdG9taXhTcGlubmVyQ29tcG9uZW50LFxuICAgIEF0b21peFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peER5bmFtaWNEaWFsb2dDb21wb25lbnQsXG4gICAgQXRvbWl4U2VsZWN0QnV0dG9uQ29tcG9uZW50LFxuICAgIEF0b21peFRhZ0NvbXBvbmVudCxcbiAgICBBdG9taXhTZWFyY2hEcm9wZG93bkNvbXBvbmVudCxcbiAgXSwgLy8gRXhwb3J0IHlvdXIgY29tcG9uZW50XG59KVxuZXhwb3J0IGNsYXNzIFByaW1la2l0TW9kdWxlIHt9XG4iXX0=
|