@elite.framework/ng.ui.core 1.0.84 → 1.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, ViewChild, Component } from '@angular/core';
2
+ import { NgModule, inject, ChangeDetectorRef, ViewChild, Component } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@ngx-formly/core';
@@ -37,6 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
37
37
  class FormlyFieldDatepicker extends FieldType {
38
38
  datepickerComp;
39
39
  dialogVisible = false;
40
+ cdr = inject(ChangeDetectorRef);
40
41
  get mode() {
41
42
  return this.props['mode'] || 'date';
42
43
  }
@@ -66,11 +67,32 @@ class FormlyFieldDatepicker extends FieldType {
66
67
  if (!value)
67
68
  return;
68
69
  if (this.mode !== 'time') {
69
- // parse date part
70
+ // parse date part - handle both dd-MM-yyyy and yyyy-MM-dd formats
70
71
  const dateStr = value.split('T')[0];
71
- const dt = new Date(dateStr);
72
- if (!isNaN(dt.getTime()))
72
+ let dt;
73
+ // Check the format of the date string
74
+ if (dateStr.includes('-')) {
75
+ const parts = dateStr.split('-');
76
+ if (parts[0].length === 4) {
77
+ // Format is yyyy-MM-dd (ISO format)
78
+ dt = new Date(dateStr);
79
+ }
80
+ else {
81
+ // Format is dd-MM-yyyy
82
+ const [day, month, year] = parts;
83
+ // Convert to ISO format (yyyy-MM-dd) for Date constructor
84
+ dt = new Date(`${year}-${month}-${day}`);
85
+ }
86
+ }
87
+ else {
88
+ dt = new Date(dateStr);
89
+ }
90
+ if (!isNaN(dt.getTime())) {
73
91
  this.dateControl.setValue(dt, { emitEvent: false });
92
+ }
93
+ else {
94
+ console.warn('Invalid date format:', dateStr);
95
+ }
74
96
  }
75
97
  if (this.mode !== 'date') {
76
98
  // parse time part
@@ -98,11 +120,21 @@ class FormlyFieldDatepicker extends FieldType {
98
120
  this.dialogVisible = true;
99
121
  }
100
122
  saveDialog() {
101
- this.updateModel();
123
+ this.updateModel(false);
102
124
  this.dialogVisible = false;
103
125
  }
104
- onDateChange() {
105
- this.updateModel();
126
+ autoFixDate(e) {
127
+ let v = e.target.value.replace(/\D/g, '');
128
+ if (v.length === 8) {
129
+ const dd = v.substring(0, 2);
130
+ const mm = v.substring(2, 4);
131
+ const yyyy = v.substring(4, 8);
132
+ const formatted = `${dd}-${mm}-${yyyy}`;
133
+ this.dateControl.setValue(formatted, { emitEvent: true });
134
+ }
135
+ }
136
+ onDateChange(UIInput) {
137
+ this.updateModel(UIInput);
106
138
  }
107
139
  onTimeInput(event) {
108
140
  if (this.mode === 'date')
@@ -132,39 +164,114 @@ class FormlyFieldDatepicker extends FieldType {
132
164
  if (minutes > 59)
133
165
  minutes = 59;
134
166
  this.timeControl.setValue(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`);
135
- this.updateModel();
167
+ this.updateModel(false);
136
168
  }
137
169
  toggleAmPm() {
138
170
  this.ampmControl.setValue(this.ampmControl.value === 'AM' ? 'PM' : 'AM');
139
- this.updateModel();
171
+ this.updateModel(false);
140
172
  }
141
- updateModel() {
173
+ updateModel(UIInput) {
142
174
  const dateVal = this.dateControl.value;
143
175
  const timeVal = this.timeControl.value;
144
176
  const ampm = this.ampmControl.value ?? 'AM';
145
177
  if (this.mode === 'date') {
146
178
  if (dateVal) {
147
- const val = `${dateVal.getFullYear()}-${(dateVal.getMonth() + 1).toString().padStart(2, '0')}-${dateVal.getDate().toString().padStart(2, '0')}`;
148
- this.formControl.setValue(val);
179
+ // Parse the date considering it might be in dd-mm-yy format
180
+ let dt;
181
+ if (typeof dateVal === 'string' && dateVal.includes('-')) {
182
+ const [day, month, year] = dateVal.split('-');
183
+ // Convert 2-digit year to 4-digit year
184
+ const fullYear = year.length === 2 ? `20${year}` : year;
185
+ dt = new Date(`${fullYear}-${month}-${day}`);
186
+ }
187
+ else {
188
+ dt = new Date(dateVal);
189
+ }
190
+ // Double-check the final date is valid
191
+ if (isNaN(dt.getTime())) {
192
+ console.error('Invalid date created, using current date');
193
+ dt = new Date(); // Fallback to current date
194
+ }
195
+ const val = `${dt.getDate().toString().padStart(2, '0')}-` +
196
+ `${(dt.getMonth() + 1).toString().padStart(2, '0')}-` +
197
+ `${dt.getFullYear()}`;
198
+ this.formControl.setValue(val, { emitEvent: true });
199
+ if (this.props.change) {
200
+ this.props.change(this.field, { item: this.model });
201
+ this.cdr.detectChanges();
202
+ }
149
203
  }
150
204
  }
151
205
  else if (this.mode === 'time') {
152
206
  if (timeVal)
153
- this.formControl.setValue(`${timeVal} ${ampm}`);
207
+ this.formControl.setValue(`${timeVal} ${ampm}`, { emitEvent: true });
208
+ if (this.props.change) {
209
+ this.props.change(this.field, { item: this.model });
210
+ this.cdr.detectChanges();
211
+ }
154
212
  }
155
213
  else if (this.mode === 'datetime') {
156
- if (dateVal && timeVal) {
157
- let [hoursStr, minutesStr] = timeVal.split(':');
158
- let hours = parseInt(hoursStr ?? '12', 10);
159
- const minutes = parseInt(minutesStr ?? '0', 10);
160
- if (ampm === 'PM' && hours < 12)
161
- hours += 12;
162
- if (ampm === 'AM' && hours === 12)
163
- hours = 0;
164
- const dt = new Date(dateVal);
214
+ if (dateVal) {
215
+ let hours = 0;
216
+ let minutes = 0;
217
+ if (timeVal && timeVal.trim() !== '') {
218
+ const [h, m] = (timeVal ?? '').split(':');
219
+ // Validate hours
220
+ hours = parseInt(h, 10);
221
+ if (isNaN(hours) || hours < 0 || hours > 12)
222
+ hours = 0;
223
+ // Validate minutes
224
+ minutes = parseInt(m, 10);
225
+ if (isNaN(minutes) || minutes < 0 || minutes > 59)
226
+ minutes = 0;
227
+ // Convert 12-hour format to 24-hour format
228
+ if (ampm === 'PM' && hours < 12)
229
+ hours += 12;
230
+ if (ampm === 'AM' && hours === 12)
231
+ hours = 0;
232
+ }
233
+ // Final safety check
234
+ hours = isNaN(hours) ? 0 : Math.max(0, Math.min(23, hours));
235
+ minutes = isNaN(minutes) ? 0 : Math.max(0, Math.min(59, minutes));
236
+ // Parse the date considering it might be in dd-mm-yy format
237
+ let dt;
238
+ if (dateVal.includes('-')) {
239
+ const [day, month, year] = dateVal.split('-');
240
+ // Convert 2-digit year to 4-digit year
241
+ const fullYear = year.length === 2 ? `20${year}` : year;
242
+ dt = new Date(`${fullYear}-${month}-${day}`);
243
+ }
244
+ else {
245
+ dt = new Date(dateVal);
246
+ }
165
247
  dt.setHours(hours, minutes, 0, 0);
166
- const val = `${dt.getFullYear()}-${(dt.getMonth() + 1).toString().padStart(2, '0')}-${dt.getDate().toString().padStart(2, '0')}T${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:00`;
167
- this.formControl.setValue(val);
248
+ // Double-check the final date is valid - if invalid, set to first hour of day
249
+ if (isNaN(dt.getTime())) {
250
+ console.error('Invalid date created, setting to first hour of day');
251
+ // Create a new valid date with first hour of day
252
+ const now = new Date();
253
+ now.setHours(0, 0, 0, 0);
254
+ const val = `${now.getDate().toString().padStart(2, '0')}-` +
255
+ `${(now.getMonth() + 1).toString().padStart(2, '0')}-` +
256
+ `${now.getFullYear()}T` +
257
+ `00:00:00`;
258
+ this.formControl.setValue(val, { emitEvent: true });
259
+ if (this.props.change) {
260
+ this.props.change(this.field, { item: this.model });
261
+ this.cdr.detectChanges();
262
+ }
263
+ return;
264
+ }
265
+ const val = `${dt.getDate().toString().padStart(2, '0')}-` +
266
+ `${(dt.getMonth() + 1).toString().padStart(2, '0')}-` +
267
+ `${dt.getFullYear()}T` +
268
+ `${dt.getHours().toString().padStart(2, '0')}:` +
269
+ `${dt.getMinutes().toString().padStart(2, '0')}:00`;
270
+ this.formControl.setValue(val, { emitEvent: true });
271
+ if (this.props.change) {
272
+ this.props.change(this.field, { item: this.model });
273
+ this.cdr.detectChanges();
274
+ }
168
275
  }
169
276
  }
170
277
  }
@@ -174,12 +281,13 @@ class FormlyFieldDatepicker extends FieldType {
174
281
  <p-inputGroup class="w-full">
175
282
  <!-- [inputStyle]="{'border-left':'0'}" -->
176
283
  @if (mode !== 'time') {
284
+ <!-- [(ngModel)]="dateControl.value" -->
177
285
  <p-datepicker
178
286
  #datepickerComp
179
- [(ngModel)]="dateControl.value"
180
287
  [formControl]="dateControl"
181
- dateFormat="yy-mm-dd"
182
- placeholder="YYYY-MM-DD"
288
+ dateFormat="dd-mm-yy"
289
+ dataType="string"
290
+ placeholder="DD-MM-YYYY"
183
291
  [showIcon]="false"
184
292
  inputId="buttondisplay"
185
293
  [showOnFocus]="true"
@@ -189,8 +297,11 @@ class FormlyFieldDatepicker extends FieldType {
189
297
  dropdownMode="current"
190
298
  [formlyAttributes]="field"
191
299
  [disabled]="!!props.disabled"
192
- (onSelect)="onDateChange()"
300
+ (onSelect)="onDateChange(true)"
301
+ (onInput)="onDateChange(true)"
193
302
  ></p-datepicker>
303
+ <!-- (onInput)="autoFixDate($event)" -->
304
+
194
305
  }
195
306
 
196
307
  @if (mode !== 'date') {
@@ -272,19 +383,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
272
383
  InputGroupModule,
273
384
  InputGroupAddonModule,
274
385
  FormlyAttributes,
275
- SelectModule
386
+ SelectModule,
276
387
  ],
277
388
  template: `
278
389
 
279
390
  <p-inputGroup class="w-full">
280
391
  <!-- [inputStyle]="{'border-left':'0'}" -->
281
392
  @if (mode !== 'time') {
393
+ <!-- [(ngModel)]="dateControl.value" -->
282
394
  <p-datepicker
283
395
  #datepickerComp
284
- [(ngModel)]="dateControl.value"
285
396
  [formControl]="dateControl"
286
- dateFormat="yy-mm-dd"
287
- placeholder="YYYY-MM-DD"
397
+ dateFormat="dd-mm-yy"
398
+ dataType="string"
399
+ placeholder="DD-MM-YYYY"
288
400
  [showIcon]="false"
289
401
  inputId="buttondisplay"
290
402
  [showOnFocus]="true"
@@ -294,8 +406,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
294
406
  dropdownMode="current"
295
407
  [formlyAttributes]="field"
296
408
  [disabled]="!!props.disabled"
297
- (onSelect)="onDateChange()"
409
+ (onSelect)="onDateChange(true)"
410
+ (onInput)="onDateChange(true)"
298
411
  ></p-datepicker>
412
+ <!-- (onInput)="autoFixDate($event)" -->
413
+
299
414
  }
300
415
 
301
416
  @if (mode !== 'date') {
@@ -1 +1 @@
1
- {"version":3,"file":"elite.framework-ng.ui.core-datepicker.mjs","sources":["../tmp-esm2022/datepicker/lib/datepicker-module.js","../tmp-esm2022/datepicker/lib/datepicker.type.js","../tmp-esm2022/datepicker/lib/datepicker.config.js","../tmp-esm2022/datepicker/lib/datepicker.module.js","../tmp-esm2022/datepicker/elite.framework-ng.ui.core-datepicker.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class DatepickerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixZQUZqQixZQUFZO3dHQUVYLGdCQUFnQixZQUZqQixZQUFZOzsyRkFFWCxnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlck1vZHVsZSB7fVxuIl19","import { Component, ViewChild } from '@angular/core';\nimport { FieldType, FormlyAttributes } from '@ngx-formly/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DatePicker, DatePickerModule } from 'primeng/datepicker';\nimport { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DialogModule } from 'primeng/dialog';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { SelectModule } from 'primeng/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"primeng/datepicker\";\nimport * as i4 from \"primeng/button\";\nimport * as i5 from \"primeng/inputtext\";\nimport * as i6 from \"primeng/inputgroup\";\nimport * as i7 from \"primeng/inputgroupaddon\";\nimport * as i8 from \"@ngx-translate/core\";\nexport class FormlyFieldDatepicker extends FieldType {\n datepickerComp;\n dialogVisible = false;\n get mode() {\n return this.props['mode'] || 'date';\n }\n dateControl = new FormControl(null);\n timeControl = new FormControl(null);\n ampmControl = new FormControl('AM');\n get displayValue() {\n const datePart = this.dateControl.value ? this.dateControl.value.toLocaleDateString() : '';\n const timePart = this.timeControl.value && this.mode !== 'date'\n ? `${this.timeControl.value} ${this.ampmControl.value}`\n : '';\n if (this.mode === 'date')\n return datePart;\n if (this.mode === 'time')\n return timePart;\n if (this.mode === 'datetime')\n return datePart && timePart ? `${datePart} ${timePart}` : datePart || timePart || '';\n return '';\n }\n ngOnInit() {\n this.setInitialValue(this.formControl.value);\n this.formControl.valueChanges.subscribe((value) => {\n this.setInitialValue(value);\n });\n }\n setInitialValue(value) {\n if (!value)\n return;\n if (this.mode !== 'time') {\n // parse date part\n const dateStr = value.split('T')[0];\n const dt = new Date(dateStr);\n if (!isNaN(dt.getTime()))\n this.dateControl.setValue(dt, { emitEvent: false });\n }\n if (this.mode !== 'date') {\n // parse time part\n let timeStr = '';\n if (this.mode === 'time') {\n timeStr = value;\n }\n else {\n const tPart = value.split('T')[1];\n if (tPart)\n timeStr = tPart.substring(0, 5); // hh:mm\n }\n if (timeStr) {\n const [hourStr, minuteStr] = timeStr.split(':');\n let hours = parseInt(hourStr ?? '12', 10);\n const minutes = parseInt(minuteStr ?? '0', 10);\n const ampm = hours >= 12 ? 'PM' : 'AM';\n hours = hours % 12 || 12;\n this.timeControl.setValue(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`, { emitEvent: false });\n this.ampmControl.setValue(ampm, { emitEvent: false });\n }\n }\n }\n openDialog() {\n this.dialogVisible = true;\n }\n saveDialog() {\n this.updateModel();\n this.dialogVisible = false;\n }\n onDateChange() {\n this.updateModel();\n }\n onTimeInput(event) {\n if (this.mode === 'date')\n return;\n let input = event.target.value;\n input = input.replace(/\\D/g, '');\n if (input.length > 2)\n input = input.slice(0, 2) + ':' + input.slice(2, 4);\n input = input.slice(0, 5);\n this.timeControl.setValue(input, { emitEvent: false });\n }\n onTimeChange() {\n if (this.mode === 'date')\n return;\n const value = this.timeControl.value;\n if (!value)\n return;\n let [hourStr, minuteStr] = value.split(':');\n let hours = parseInt(hourStr ?? '12', 10);\n let minutes = parseInt(minuteStr ?? '0', 10);\n if (isNaN(hours) || hours < 1)\n hours = 1;\n if (hours > 12)\n hours = 12;\n if (isNaN(minutes) || minutes < 0)\n minutes = 0;\n if (minutes > 59)\n minutes = 59;\n this.timeControl.setValue(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`);\n this.updateModel();\n }\n toggleAmPm() {\n this.ampmControl.setValue(this.ampmControl.value === 'AM' ? 'PM' : 'AM');\n this.updateModel();\n }\n updateModel() {\n const dateVal = this.dateControl.value;\n const timeVal = this.timeControl.value;\n const ampm = this.ampmControl.value ?? 'AM';\n if (this.mode === 'date') {\n if (dateVal) {\n const val = `${dateVal.getFullYear()}-${(dateVal.getMonth() + 1).toString().padStart(2, '0')}-${dateVal.getDate().toString().padStart(2, '0')}`;\n this.formControl.setValue(val);\n }\n }\n else if (this.mode === 'time') {\n if (timeVal)\n this.formControl.setValue(`${timeVal} ${ampm}`);\n }\n else if (this.mode === 'datetime') {\n if (dateVal && timeVal) {\n let [hoursStr, minutesStr] = timeVal.split(':');\n let hours = parseInt(hoursStr ?? '12', 10);\n const minutes = parseInt(minutesStr ?? '0', 10);\n if (ampm === 'PM' && hours < 12)\n hours += 12;\n if (ampm === 'AM' && hours === 12)\n hours = 0;\n const dt = new Date(dateVal);\n dt.setHours(hours, minutes, 0, 0);\n const val = `${dt.getFullYear()}-${(dt.getMonth() + 1).toString().padStart(2, '0')}-${dt.getDate().toString().padStart(2, '0')}T${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:00`;\n this.formControl.setValue(val);\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyFieldDatepicker, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: FormlyFieldDatepicker, isStandalone: true, selector: \"formly-field-primeng-datepicker\", viewQueries: [{ propertyName: \"datepickerComp\", first: true, predicate: [\"datepickerComp\"], descendants: true }], usesInheritance: true, ngImport: i0, template: `\n\n <p-inputGroup class=\"w-full\">\n <!-- [inputStyle]=\"{'border-left':'0'}\" -->\n @if (mode !== 'time') {\n <p-datepicker\n #datepickerComp\n [(ngModel)]=\"dateControl.value\"\n [formControl]=\"dateControl\"\n dateFormat=\"yy-mm-dd\"\n placeholder=\"YYYY-MM-DD\"\n [showIcon]=\"false\"\n inputId=\"buttondisplay\"\n [showOnFocus]=\"true\"\n appendTo=\"body\"\n class=\"w-full rounded-none\"\n inputStyleClass=\"rtl:border-r-0 ltr:border-l-0\"\n dropdownMode=\"current\"\n [formlyAttributes]=\"field\"\n [disabled]=\"!!props.disabled\"\n (onSelect)=\"onDateChange()\"\n ></p-datepicker>\n }\n\n @if (mode !== 'date') {\n <input\n pInputText\n type=\"text\"\n placeholder=\"00:00\"\n maxlength=\"5\"\n [formControl]=\"timeControl\"\n (input)=\"onTimeInput($event)\"\n (blur)=\"onTimeChange()\"\n class=\"w-20\"\n [ngStyle]=\"{\n 'border-radius': mode == 'time' ? '':'0px',\n 'width': '53px !important',\n 'padding-left': mode == 'time' ? '':'2px',\n 'padding-right': mode == 'time' ? '':'2px',\n 'border-left':mode == 'time' ? '': '0px',\n 'border-right': mode == 'time' ? '': '0px'\n }\"\n [classList]=\"mode == 'time' ? 'p-autocomplete-input p-component p-inputtext' : ''\"\n />\n\n <p-inputGroupAddon [style]=\"{'padding': 'initial'}\">\n <select\n (change)=\"toggleAmPm()\"\n [disabled]=\"!!props.disabled\"\n style=\" padding-top: 0.4rem;\n padding-bottom: 0.5rem; padding-left: 0.5rem;\n padding-right: 0.5rem;\n background: var(--p-button-secondary-background);\n \"\n class=\" pr-8 bg-white text-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed appearance-none\"\n >\n <option value=\"AM\" [selected]=\"ampmControl.value === 'AM'\">{{'AM' | translate}}</option>\n <option value=\"PM\" [selected]=\"ampmControl.value === 'PM'\">{{'PM' | translate}}</option>\n </select>\n </p-inputGroupAddon>\n }\n @if (mode == 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-clock\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n @if (mode !== 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-calendar\"\n (click)=\"datepickerComp.toggle()\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n</p-inputGroup>\n\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgSelectOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.ɵNgSelectMultipleOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.MaxLengthValidator, selector: \"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]\", inputs: [\"maxlength\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: DatePickerModule }, { kind: \"component\", type: i3.DatePicker, selector: \"p-datePicker, p-datepicker, p-date-picker\", inputs: [\"iconDisplay\", \"styleClass\", \"inputStyle\", \"inputId\", \"inputStyleClass\", \"placeholder\", \"ariaLabelledBy\", \"ariaLabel\", \"iconAriaLabel\", \"dateFormat\", \"multipleSeparator\", \"rangeSeparator\", \"inline\", \"showOtherMonths\", \"selectOtherMonths\", \"showIcon\", \"icon\", \"readonlyInput\", \"shortYearCutoff\", \"hourFormat\", \"timeOnly\", \"stepHour\", \"stepMinute\", \"stepSecond\", \"showSeconds\", \"showOnFocus\", \"showWeek\", \"startWeekFromFirstDayOfYear\", \"showClear\", \"dataType\", \"selectionMode\", \"maxDateCount\", \"showButtonBar\", \"todayButtonStyleClass\", \"clearButtonStyleClass\", \"autofocus\", \"autoZIndex\", \"baseZIndex\", \"panelStyleClass\", \"panelStyle\", \"keepInvalid\", \"hideOnDateTimeSelect\", \"touchUI\", \"timeSeparator\", \"focusTrap\", \"showTransitionOptions\", \"hideTransitionOptions\", \"tabindex\", \"minDate\", \"maxDate\", \"disabledDates\", \"disabledDays\", \"showTime\", \"responsiveOptions\", \"numberOfMonths\", \"firstDayOfWeek\", \"view\", \"defaultDate\", \"appendTo\"], outputs: [\"onFocus\", \"onBlur\", \"onClose\", \"onSelect\", \"onClear\", \"onInput\", \"onTodayClick\", \"onClearClick\", \"onMonthChange\", \"onYearChange\", \"onClickOutside\", \"onShow\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"component\", type: i4.Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"ngmodule\", type: InputTextModule }, { kind: \"directive\", type: i5.InputText, selector: \"[pInputText]\", inputs: [\"pSize\", \"variant\", \"fluid\", \"invalid\"] }, { kind: \"ngmodule\", type: DialogModule }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"ngmodule\", type: InputGroupModule }, { kind: \"component\", type: i6.InputGroup, selector: \"p-inputgroup, p-inputGroup, p-input-group\", inputs: [\"styleClass\"] }, { kind: \"ngmodule\", type: InputGroupAddonModule }, { kind: \"component\", type: i7.InputGroupAddon, selector: \"p-inputgroup-addon, p-inputGroupAddon\", inputs: [\"style\", \"styleClass\"] }, { kind: \"directive\", type: FormlyAttributes, selector: \"[formlyAttributes]\", inputs: [\"formlyAttributes\", \"id\"] }, { kind: \"ngmodule\", type: SelectModule }, { kind: \"pipe\", type: i8.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyFieldDatepicker, decorators: [{\n type: Component,\n args: [{\n selector: 'formly-field-primeng-datepicker',\n standalone: true,\n imports: [\n FormsModule,\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n ButtonModule,\n InputTextModule,\n DialogModule,\n TranslateModule,\n InputGroupModule,\n InputGroupAddonModule,\n FormlyAttributes,\n SelectModule\n ],\n template: `\n\n <p-inputGroup class=\"w-full\">\n <!-- [inputStyle]=\"{'border-left':'0'}\" -->\n @if (mode !== 'time') {\n <p-datepicker\n #datepickerComp\n [(ngModel)]=\"dateControl.value\"\n [formControl]=\"dateControl\"\n dateFormat=\"yy-mm-dd\"\n placeholder=\"YYYY-MM-DD\"\n [showIcon]=\"false\"\n inputId=\"buttondisplay\"\n [showOnFocus]=\"true\"\n appendTo=\"body\"\n class=\"w-full rounded-none\"\n inputStyleClass=\"rtl:border-r-0 ltr:border-l-0\"\n dropdownMode=\"current\"\n [formlyAttributes]=\"field\"\n [disabled]=\"!!props.disabled\"\n (onSelect)=\"onDateChange()\"\n ></p-datepicker>\n }\n\n @if (mode !== 'date') {\n <input\n pInputText\n type=\"text\"\n placeholder=\"00:00\"\n maxlength=\"5\"\n [formControl]=\"timeControl\"\n (input)=\"onTimeInput($event)\"\n (blur)=\"onTimeChange()\"\n class=\"w-20\"\n [ngStyle]=\"{\n 'border-radius': mode == 'time' ? '':'0px',\n 'width': '53px !important',\n 'padding-left': mode == 'time' ? '':'2px',\n 'padding-right': mode == 'time' ? '':'2px',\n 'border-left':mode == 'time' ? '': '0px',\n 'border-right': mode == 'time' ? '': '0px'\n }\"\n [classList]=\"mode == 'time' ? 'p-autocomplete-input p-component p-inputtext' : ''\"\n />\n\n <p-inputGroupAddon [style]=\"{'padding': 'initial'}\">\n <select\n (change)=\"toggleAmPm()\"\n [disabled]=\"!!props.disabled\"\n style=\" padding-top: 0.4rem;\n padding-bottom: 0.5rem; padding-left: 0.5rem;\n padding-right: 0.5rem;\n background: var(--p-button-secondary-background);\n \"\n class=\" pr-8 bg-white text-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed appearance-none\"\n >\n <option value=\"AM\" [selected]=\"ampmControl.value === 'AM'\">{{'AM' | translate}}</option>\n <option value=\"PM\" [selected]=\"ampmControl.value === 'PM'\">{{'PM' | translate}}</option>\n </select>\n </p-inputGroupAddon>\n }\n @if (mode == 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-clock\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n @if (mode !== 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-calendar\"\n (click)=\"datepickerComp.toggle()\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n</p-inputGroup>\n\n `,\n }]\n }], propDecorators: { datepickerComp: [{\n type: ViewChild,\n args: ['datepickerComp']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2RhdGVwaWNrZXIvc3JjL2xpYi9kYXRlcGlja2VyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBNEc5QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsU0FBUztJQUNwQixjQUFjLENBQWU7SUFDM0QsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUVyQixJQUFJLElBQUk7UUFDUCxPQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFrQyxJQUFJLE1BQU0sQ0FBQztJQUN4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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9GVDtpQkFDRjs4QkFFK0IsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlBdHRyaWJ1dGVzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZVBpY2tlciwgRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElucHV0R3JvdXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0Z3JvdXAnO1xuaW1wb3J0IHsgSW5wdXRHcm91cEFkZG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGdyb3VwYWRkb24nO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zZWxlY3QnO1xuXG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtcHJpbWVuZy1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERhdGVQaWNrZXJNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIElucHV0R3JvdXBNb2R1bGUsXG4gICAgSW5wdXRHcm91cEFkZG9uTW9kdWxlLFxuICAgIEZvcm1seUF0dHJpYnV0ZXMsXG4gICAgU2VsZWN0TW9kdWxlXG5dLFxuICB0ZW1wbGF0ZTogYFxuXG4gIDxwLWlucHV0R3JvdXAgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICA8IS0tIFtpbnB1dFN0eWxlXT1cInsnYm9yZGVyLWxlZnQnOicwJ31cIiAtLT5cbiAgICAgIEBpZiAobW9kZSAhPT0gJ3RpbWUnKSB7XG4gIDxwLWRhdGVwaWNrZXJcbiAgICAjZGF0ZXBpY2tlckNvbXBcbiAgICBbKG5nTW9kZWwpXT1cImRhdGVDb250cm9sLnZhbHVlXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZGF0ZUNvbnRyb2xcIlxuICAgIGRhdGVGb3JtYXQ9XCJ5eS1tbS1kZFwiXG4gICAgcGxhY2Vob2xkZXI9XCJZWVlZLU1NLUREXCJcbiAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgIGlucHV0SWQ9XCJidXR0b25kaXNwbGF5XCJcbiAgICBbc2hvd09uRm9jdXNdPVwidHJ1ZVwiXG4gICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICBjbGFzcz1cInctZnVsbCByb3VuZGVkLW5vbmVcIlxuICAgIGlucHV0U3R5bGVDbGFzcz1cInJ0bDpib3JkZXItci0wIGx0cjpib3JkZXItbC0wXCJcbiAgICBkcm9wZG93bk1vZGU9XCJjdXJyZW50XCJcbiAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cIiEhcHJvcHMuZGlzYWJsZWRcIlxuICAgIChvblNlbGVjdCk9XCJvbkRhdGVDaGFuZ2UoKVwiXG4gID48L3AtZGF0ZXBpY2tlcj5cbiAgICAgIH1cblxuICBAaWYgKG1vZGUgIT09ICdkYXRlJykge1xuICAgIDxpbnB1dFxuICAgICAgcElucHV0VGV4dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCIwMDowMFwiXG4gICAgICBtYXhsZW5ndGg9XCI1XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJ0aW1lQ29udHJvbFwiXG4gICAgICAoaW5wdXQpPVwib25UaW1lSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvblRpbWVDaGFuZ2UoKVwiXG4gICAgICBjbGFzcz1cInctMjBcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICdib3JkZXItcmFkaXVzJzogbW9kZSA9PSAndGltZScgPyAnJzonMHB4JyxcbiAgICAnd2lkdGgnOiAnNTNweCAhaW1wb3J0YW50JyxcbiAgICAncGFkZGluZy1sZWZ0JzogbW9kZSA9PSAndGltZScgPyAnJzonMnB4JyxcbiAgICAncGFkZGluZy1yaWdodCc6IG1vZGUgPT0gJ3RpbWUnID8gJyc6JzJweCcsXG4gICAgJ2JvcmRlci1sZWZ0Jzptb2RlID09ICd0aW1lJyA/ICcnOiAnMHB4JyxcbiAgICAnYm9yZGVyLXJpZ2h0JzogbW9kZSA9PSAndGltZScgPyAnJzogJzBweCdcbiAgfVwiXG4gIFtjbGFzc0xpc3RdPVwibW9kZSA9PSAndGltZScgPyAncC1hdXRvY29tcGxldGUtaW5wdXQgcC1jb21wb25lbnQgcC1pbnB1dHRleHQnIDogJydcIlxuICAgIC8+XG5cbiAgICA8cC1pbnB1dEdyb3VwQWRkb24gW3N0eWxlXT1cInsncGFkZGluZyc6ICdpbml0aWFsJ31cIj5cbiAgICAgPHNlbGVjdFxuICAgIChjaGFuZ2UpPVwidG9nZ2xlQW1QbSgpXCJcbiAgICBbZGlzYWJsZWRdPVwiISFwcm9wcy5kaXNhYmxlZFwiXG4gICAgc3R5bGU9XCIgICAgICAgcGFkZGluZy10b3A6IDAuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXAtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICBcIlxuICAgIGNsYXNzPVwiICBwci04ICBiZy13aGl0ZSB0ZXh0LWdyYXktNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItdHJhbnNwYXJlbnQgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYXBwZWFyYW5jZS1ub25lXCJcbiAgPlxuICAgIDxvcHRpb24gdmFsdWU9XCJBTVwiIFtzZWxlY3RlZF09XCJhbXBtQ29udHJvbC52YWx1ZSA9PT0gJ0FNJ1wiPnt7J0FNJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgPG9wdGlvbiB2YWx1ZT1cIlBNXCIgW3NlbGVjdGVkXT1cImFtcG1Db250cm9sLnZhbHVlID09PSAnUE0nXCI+e3snUE0nIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG4gICAgPC9wLWlucHV0R3JvdXBBZGRvbj5cbiAgfVxuICAgQGlmIChtb2RlID09ICd0aW1lJykge1xuICA8cC1pbnB1dEdyb3VwQWRkb24+XG4gICAgPHAtYnV0dG9uXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIXByb3BzLmRpc2FibGVkXCJcbiAgICAgIGljb249XCJwaSBwaS1jbG9ja1wiXG4gICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxuICAgIC8+XG4gIDwvcC1pbnB1dEdyb3VwQWRkb24+XG59XG4gQGlmIChtb2RlICE9PSAndGltZScpIHtcbiAgPHAtaW5wdXRHcm91cEFkZG9uPlxuICAgIDxwLWJ1dHRvblxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFwcm9wcy5kaXNhYmxlZFwiXG4gICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXJDb21wLnRvZ2dsZSgpXCJcbiAgICAgIHNldmVyaXR5PVwicHJpbWFyeVwiXG4gICAgLz5cbiAgPC9wLWlucHV0R3JvdXBBZGRvbj5cbn1cbjwvcC1pbnB1dEdyb3VwPlxuXG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkRGF0ZXBpY2tlciBleHRlbmRzIEZpZWxkVHlwZSB7XG4gICBAVmlld0NoaWxkKCdkYXRlcGlja2VyQ29tcCcpIGRhdGVwaWNrZXJDb21wITogRGF0ZVBpY2tlciA7XG4gIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcblxuICAgZ2V0IG1vZGUoKTogJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJyB7XG4gICAgcmV0dXJuICh0aGlzLnByb3BzWydtb2RlJ10gYXMgJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJykgfHwgJ2RhdGUnO1xuICB9XG5cbiAgZGF0ZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RGF0ZSB8IG51bGw+KG51bGwpO1xuICB0aW1lQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgYW1wbUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8J0FNJyB8ICdQTSc+KCdBTScpO1xuXG4gIGdldCBkaXNwbGF5VmFsdWUoKSB7XG4gICAgY29uc3QgZGF0ZVBhcnQgPSB0aGlzLmRhdGVDb250cm9sLnZhbHVlID8gdGhpcy5kYXRlQ29udHJvbC52YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA6ICcnO1xuICAgIGNvbnN0IHRpbWVQYXJ0ID1cbiAgICAgIHRoaXMudGltZUNvbnRyb2wudmFsdWUgJiYgdGhpcy5tb2RlICE9PSAnZGF0ZSdcbiAgICAgICAgPyBgJHt0aGlzLnRpbWVDb250cm9sLnZhbHVlfSAke3RoaXMuYW1wbUNvbnRyb2wudmFsdWV9YFxuICAgICAgICA6ICcnO1xuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSByZXR1cm4gZGF0ZVBhcnQ7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUnKSByZXR1cm4gdGltZVBhcnQ7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGV0aW1lJykgcmV0dXJuIGRhdGVQYXJ0ICYmIHRpbWVQYXJ0ID8gYCR7ZGF0ZVBhcnR9ICR7dGltZVBhcnR9YCA6IGRhdGVQYXJ0IHx8IHRpbWVQYXJ0IHx8ICcnO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsVmFsdWUodGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIGlmICh0aGlzLm1vZGUgIT09ICd0aW1lJykge1xuICAgICAgLy8gcGFyc2UgZGF0ZSBwYXJ0XG4gICAgICBjb25zdCBkYXRlU3RyID0gdmFsdWUuc3BsaXQoJ1QnKVswXTtcbiAgICAgIGNvbnN0IGR0ID0gbmV3IERhdGUoZGF0ZVN0cik7XG4gICAgICBpZiAoIWlzTmFOKGR0LmdldFRpbWUoKSkpIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoZHQsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb2RlICE9PSAnZGF0ZScpIHtcbiAgICAgIC8vIHBhcnNlIHRpbWUgcGFydFxuICAgICAgbGV0IHRpbWVTdHIgPSAnJztcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lJykge1xuICAgICAgICB0aW1lU3RyID0gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0UGFydCA9IHZhbHVlLnNwbGl0KCdUJylbMV07XG4gICAgICAgIGlmICh0UGFydCkgdGltZVN0ciA9IHRQYXJ0LnN1YnN0cmluZygwLCA1KTsgLy8gaGg6bW1cbiAgICAgIH1cblxuICAgICAgaWYgKHRpbWVTdHIpIHtcbiAgICAgICAgY29uc3QgW2hvdXJTdHIsIG1pbnV0ZVN0cl0gPSB0aW1lU3RyLnNwbGl0KCc6Jyk7XG4gICAgICAgIGxldCBob3VycyA9IHBhcnNlSW50KGhvdXJTdHIgPz8gJzEyJywgMTApO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gcGFyc2VJbnQobWludXRlU3RyID8/ICcwJywgMTApO1xuICAgICAgICBjb25zdCBhbXBtOiAnQU0nIHwgJ1BNJyA9IGhvdXJzID49IDEyID8gJ1BNJyA6ICdBTSc7XG4gICAgICAgIGhvdXJzID0gaG91cnMgJSAxMiB8fCAxMjtcbiAgICAgICAgdGhpcy50aW1lQ29udHJvbC5zZXRWYWx1ZShgJHtob3Vycy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmFtcG1Db250cm9sLnNldFZhbHVlKGFtcG0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvcGVuRGlhbG9nKCkge1xuICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBzYXZlRGlhbG9nKCkge1xuICAgIHRoaXMudXBkYXRlTW9kZWwoKTtcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIG9uRGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XG4gIH1cblxuICBvblRpbWVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHJldHVybjtcbiAgICBsZXQgaW5wdXQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICBpZiAoaW5wdXQubGVuZ3RoID4gMikgaW5wdXQgPSBpbnB1dC5zbGljZSgwLCAyKSArICc6JyArIGlucHV0LnNsaWNlKDIsIDQpO1xuICAgIGlucHV0ID0gaW5wdXQuc2xpY2UoMCwgNSk7XG4gICAgdGhpcy50aW1lQ29udHJvbC5zZXRWYWx1ZShpbnB1dCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgb25UaW1lQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aW1lQ29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICBsZXQgW2hvdXJTdHIsIG1pbnV0ZVN0cl0gPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgIGxldCBob3VycyA9IHBhcnNlSW50KGhvdXJTdHIgPz8gJzEyJywgMTApO1xuICAgIGxldCBtaW51dGVzID0gcGFyc2VJbnQobWludXRlU3RyID8/ICcwJywgMTApO1xuICAgIGlmIChpc05hTihob3VycykgfHwgaG91cnMgPCAxKSBob3VycyA9IDE7XG4gICAgaWYgKGhvdXJzID4gMTIpIGhvdXJzID0gMTI7XG4gICAgaWYgKGlzTmFOKG1pbnV0ZXMpIHx8IG1pbnV0ZXMgPCAwKSBtaW51dGVzID0gMDtcbiAgICBpZiAobWludXRlcyA+IDU5KSBtaW51dGVzID0gNTk7XG5cbiAgICB0aGlzLnRpbWVDb250cm9sLnNldFZhbHVlKGAke2hvdXJzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHttaW51dGVzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gKTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XG4gIH1cblxuICB0b2dnbGVBbVBtKCkge1xuICAgIHRoaXMuYW1wbUNvbnRyb2wuc2V0VmFsdWUodGhpcy5hbXBtQ29udHJvbC52YWx1ZSA9PT0gJ0FNJyA/ICdQTScgOiAnQU0nKTtcbiAgICAgIHRoaXMudXBkYXRlTW9kZWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTW9kZWwoKSB7XG4gICAgY29uc3QgZGF0ZVZhbCA9IHRoaXMuZGF0ZUNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgdGltZVZhbCA9IHRoaXMudGltZUNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgYW1wbSA9IHRoaXMuYW1wbUNvbnRyb2wudmFsdWUgPz8gJ0FNJztcblxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykge1xuICAgICAgaWYgKGRhdGVWYWwpIHtcbiAgICAgICAgY29uc3QgdmFsID0gYCR7ZGF0ZVZhbC5nZXRGdWxsWWVhcigpfS0keyhkYXRlVmFsLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9LSR7ZGF0ZVZhbC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUnKSB7XG4gICAgICBpZiAodGltZVZhbCkgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShgJHt0aW1lVmFsfSAke2FtcG19YCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdkYXRldGltZScpIHtcbiAgICAgIGlmIChkYXRlVmFsICYmIHRpbWVWYWwpIHtcbiAgICAgICAgbGV0IFtob3Vyc1N0ciwgbWludXRlc1N0cl0gPSB0aW1lVmFsLnNwbGl0KCc6Jyk7XG4gICAgICAgIGxldCBob3VycyA9IHBhcnNlSW50KGhvdXJzU3RyID8/ICcxMicsIDEwKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KG1pbnV0ZXNTdHIgPz8gJzAnLCAxMCk7XG5cbiAgICAgICAgaWYgKGFtcG0gPT09ICdQTScgJiYgaG91cnMgPCAxMikgaG91cnMgKz0gMTI7XG4gICAgICAgIGlmIChhbXBtID09PSAnQU0nICYmIGhvdXJzID09PSAxMikgaG91cnMgPSAwO1xuXG4gICAgICAgIGNvbnN0IGR0ID0gbmV3IERhdGUoZGF0ZVZhbCk7XG4gICAgICAgIGR0LnNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCAwLCAwKTtcblxuICAgICAgICBjb25zdCB2YWwgPSBgJHtkdC5nZXRGdWxsWWVhcigpfS0keyhkdC5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfS0ke2R0LmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9VCR7ZHQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7ZHQuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06MDBgO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=","import { FormlyFieldDatepicker } from './datepicker.type';\nexport function withFormlyFieldDatepicker() {\n return {\n types: [\n {\n name: 'datepicker',\n component: FormlyFieldDatepicker,\n wrappers: ['form-field'],\n },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxZQUFZO2dCQUNsQixTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDekI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWx5RmllbGREYXRlcGlja2VyIH0gZnJvbSAnLi9kYXRlcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgQ29uZmlnT3B0aW9uIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGREYXRlcGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGVwaWNrZXInLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkRGF0ZXBpY2tlcixcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { withFormlyFieldDatepicker } from './datepicker.config';\nimport { FormlyFormFieldModule } from '@elite.framework/ng.ui.core/form-field';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-formly/core\";\nexport class FormlyDatepickerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, imports: [CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule, i1.FormlyModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, imports: [CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatepicker())] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, decorators: [{\n type: NgModule,\n args: [{\n // declarations: [FormlyFieldDatepicker],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatepicker()),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRyxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBWS9FLE1BQU0sT0FBTyxzQkFBc0I7dUdBQXRCLHNCQUFzQjt3R0FBdEIsc0JBQXNCLFlBUC9CLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjt3R0FJWixzQkFBc0IsWUFQL0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQzs7MkZBR3pDLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUix5Q0FBeUM7b0JBQ3pDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQztxQkFDbkQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7ICBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kYXRlcGlja2VyJztcbmltcG9ydCB7IHdpdGhGb3JtbHlGaWVsZERhdGVwaWNrZXIgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7IEZvcm1seUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtLWZpZWxkJztcblxuQE5nTW9kdWxlKHtcbiAgLy8gZGVjbGFyYXRpb25zOiBbRm9ybWx5RmllbGREYXRlcGlja2VyXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERhdGVQaWNrZXJNb2R1bGUsXG4gICAgRm9ybWx5Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh3aXRoRm9ybWx5RmllbGREYXRlcGlja2VyKCkpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlEYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZGF0ZXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9kYXRlcGlja2VyL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1kYXRlcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"elite.framework-ng.ui.core-datepicker.mjs","sources":["../tmp-esm2022/datepicker/lib/datepicker-module.js","../tmp-esm2022/datepicker/lib/datepicker.type.js","../tmp-esm2022/datepicker/lib/datepicker.config.js","../tmp-esm2022/datepicker/lib/datepicker.module.js","../tmp-esm2022/datepicker/elite.framework-ng.ui.core-datepicker.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class DatepickerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DatepickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixZQUZqQixZQUFZO3dHQUVYLGdCQUFnQixZQUZqQixZQUFZOzsyRkFFWCxnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlck1vZHVsZSB7fVxuIl19","import { ChangeDetectorRef, Component, inject, ViewChild } from '@angular/core';\nimport { FieldType, FormlyAttributes } from '@ngx-formly/core';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DatePicker, DatePickerModule } from 'primeng/datepicker';\nimport { ButtonModule } from 'primeng/button';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { DialogModule } from 'primeng/dialog';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { InputGroupModule } from 'primeng/inputgroup';\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\nimport { SelectModule } from 'primeng/select';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"primeng/datepicker\";\nimport * as i4 from \"primeng/button\";\nimport * as i5 from \"primeng/inputtext\";\nimport * as i6 from \"primeng/inputgroup\";\nimport * as i7 from \"primeng/inputgroupaddon\";\nimport * as i8 from \"@ngx-translate/core\";\nexport class FormlyFieldDatepicker extends FieldType {\n datepickerComp;\n dialogVisible = false;\n cdr = inject(ChangeDetectorRef);\n get mode() {\n return this.props['mode'] || 'date';\n }\n dateControl = new FormControl(null);\n timeControl = new FormControl(null);\n ampmControl = new FormControl('AM');\n get displayValue() {\n const datePart = this.dateControl.value ? this.dateControl.value.toLocaleDateString() : '';\n const timePart = this.timeControl.value && this.mode !== 'date'\n ? `${this.timeControl.value} ${this.ampmControl.value}`\n : '';\n if (this.mode === 'date')\n return datePart;\n if (this.mode === 'time')\n return timePart;\n if (this.mode === 'datetime')\n return datePart && timePart ? `${datePart} ${timePart}` : datePart || timePart || '';\n return '';\n }\n ngOnInit() {\n this.setInitialValue(this.formControl.value);\n this.formControl.valueChanges.subscribe((value) => {\n this.setInitialValue(value);\n });\n }\n setInitialValue(value) {\n if (!value)\n return;\n if (this.mode !== 'time') {\n // parse date part - handle both dd-MM-yyyy and yyyy-MM-dd formats\n const dateStr = value.split('T')[0];\n let dt;\n // Check the format of the date string\n if (dateStr.includes('-')) {\n const parts = dateStr.split('-');\n if (parts[0].length === 4) {\n // Format is yyyy-MM-dd (ISO format)\n dt = new Date(dateStr);\n }\n else {\n // Format is dd-MM-yyyy\n const [day, month, year] = parts;\n // Convert to ISO format (yyyy-MM-dd) for Date constructor\n dt = new Date(`${year}-${month}-${day}`);\n }\n }\n else {\n dt = new Date(dateStr);\n }\n if (!isNaN(dt.getTime())) {\n this.dateControl.setValue(dt, { emitEvent: false });\n }\n else {\n console.warn('Invalid date format:', dateStr);\n }\n }\n if (this.mode !== 'date') {\n // parse time part\n let timeStr = '';\n if (this.mode === 'time') {\n timeStr = value;\n }\n else {\n const tPart = value.split('T')[1];\n if (tPart)\n timeStr = tPart.substring(0, 5); // hh:mm\n }\n if (timeStr) {\n const [hourStr, minuteStr] = timeStr.split(':');\n let hours = parseInt(hourStr ?? '12', 10);\n const minutes = parseInt(minuteStr ?? '0', 10);\n const ampm = hours >= 12 ? 'PM' : 'AM';\n hours = hours % 12 || 12;\n this.timeControl.setValue(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`, { emitEvent: false });\n this.ampmControl.setValue(ampm, { emitEvent: false });\n }\n }\n }\n openDialog() {\n this.dialogVisible = true;\n }\n saveDialog() {\n this.updateModel(false);\n this.dialogVisible = false;\n }\n autoFixDate(e) {\n let v = e.target.value.replace(/\\D/g, '');\n if (v.length === 8) {\n const dd = v.substring(0, 2);\n const mm = v.substring(2, 4);\n const yyyy = v.substring(4, 8);\n const formatted = `${dd}-${mm}-${yyyy}`;\n this.dateControl.setValue(formatted, { emitEvent: true });\n }\n }\n onDateChange(UIInput) {\n this.updateModel(UIInput);\n }\n onTimeInput(event) {\n if (this.mode === 'date')\n return;\n let input = event.target.value;\n input = input.replace(/\\D/g, '');\n if (input.length > 2)\n input = input.slice(0, 2) + ':' + input.slice(2, 4);\n input = input.slice(0, 5);\n this.timeControl.setValue(input, { emitEvent: false });\n }\n onTimeChange() {\n if (this.mode === 'date')\n return;\n const value = this.timeControl.value;\n if (!value)\n return;\n let [hourStr, minuteStr] = value.split(':');\n let hours = parseInt(hourStr ?? '12', 10);\n let minutes = parseInt(minuteStr ?? '0', 10);\n if (isNaN(hours) || hours < 1)\n hours = 1;\n if (hours > 12)\n hours = 12;\n if (isNaN(minutes) || minutes < 0)\n minutes = 0;\n if (minutes > 59)\n minutes = 59;\n this.timeControl.setValue(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`);\n this.updateModel(false);\n }\n toggleAmPm() {\n this.ampmControl.setValue(this.ampmControl.value === 'AM' ? 'PM' : 'AM');\n this.updateModel(false);\n }\n updateModel(UIInput) {\n const dateVal = this.dateControl.value;\n const timeVal = this.timeControl.value;\n const ampm = this.ampmControl.value ?? 'AM';\n if (this.mode === 'date') {\n if (dateVal) {\n // Parse the date considering it might be in dd-mm-yy format\n let dt;\n if (typeof dateVal === 'string' && dateVal.includes('-')) {\n const [day, month, year] = dateVal.split('-');\n // Convert 2-digit year to 4-digit year\n const fullYear = year.length === 2 ? `20${year}` : year;\n dt = new Date(`${fullYear}-${month}-${day}`);\n }\n else {\n dt = new Date(dateVal);\n }\n // Double-check the final date is valid\n if (isNaN(dt.getTime())) {\n console.error('Invalid date created, using current date');\n dt = new Date(); // Fallback to current date\n }\n const val = `${dt.getDate().toString().padStart(2, '0')}-` +\n `${(dt.getMonth() + 1).toString().padStart(2, '0')}-` +\n `${dt.getFullYear()}`;\n this.formControl.setValue(val, { emitEvent: true });\n if (this.props.change) {\n this.props.change(this.field, { item: this.model });\n this.cdr.detectChanges();\n }\n }\n }\n else if (this.mode === 'time') {\n if (timeVal)\n this.formControl.setValue(`${timeVal} ${ampm}`, { emitEvent: true });\n if (this.props.change) {\n this.props.change(this.field, { item: this.model });\n this.cdr.detectChanges();\n }\n }\n else if (this.mode === 'datetime') {\n if (dateVal) {\n let hours = 0;\n let minutes = 0;\n if (timeVal && timeVal.trim() !== '') {\n const [h, m] = (timeVal ?? '').split(':');\n // Validate hours\n hours = parseInt(h, 10);\n if (isNaN(hours) || hours < 0 || hours > 12)\n hours = 0;\n // Validate minutes\n minutes = parseInt(m, 10);\n if (isNaN(minutes) || minutes < 0 || minutes > 59)\n minutes = 0;\n // Convert 12-hour format to 24-hour format\n if (ampm === 'PM' && hours < 12)\n hours += 12;\n if (ampm === 'AM' && hours === 12)\n hours = 0;\n }\n // Final safety check\n hours = isNaN(hours) ? 0 : Math.max(0, Math.min(23, hours));\n minutes = isNaN(minutes) ? 0 : Math.max(0, Math.min(59, minutes));\n // Parse the date considering it might be in dd-mm-yy format\n let dt;\n if (dateVal.includes('-')) {\n const [day, month, year] = dateVal.split('-');\n // Convert 2-digit year to 4-digit year\n const fullYear = year.length === 2 ? `20${year}` : year;\n dt = new Date(`${fullYear}-${month}-${day}`);\n }\n else {\n dt = new Date(dateVal);\n }\n dt.setHours(hours, minutes, 0, 0);\n // Double-check the final date is valid - if invalid, set to first hour of day\n if (isNaN(dt.getTime())) {\n console.error('Invalid date created, setting to first hour of day');\n // Create a new valid date with first hour of day\n const now = new Date();\n now.setHours(0, 0, 0, 0);\n const val = `${now.getDate().toString().padStart(2, '0')}-` +\n `${(now.getMonth() + 1).toString().padStart(2, '0')}-` +\n `${now.getFullYear()}T` +\n `00:00:00`;\n this.formControl.setValue(val, { emitEvent: true });\n if (this.props.change) {\n this.props.change(this.field, { item: this.model });\n this.cdr.detectChanges();\n }\n return;\n }\n const val = `${dt.getDate().toString().padStart(2, '0')}-` +\n `${(dt.getMonth() + 1).toString().padStart(2, '0')}-` +\n `${dt.getFullYear()}T` +\n `${dt.getHours().toString().padStart(2, '0')}:` +\n `${dt.getMinutes().toString().padStart(2, '0')}:00`;\n this.formControl.setValue(val, { emitEvent: true });\n if (this.props.change) {\n this.props.change(this.field, { item: this.model });\n this.cdr.detectChanges();\n }\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyFieldDatepicker, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: FormlyFieldDatepicker, isStandalone: true, selector: \"formly-field-primeng-datepicker\", viewQueries: [{ propertyName: \"datepickerComp\", first: true, predicate: [\"datepickerComp\"], descendants: true }], usesInheritance: true, ngImport: i0, template: `\n\n <p-inputGroup class=\"w-full\">\n <!-- [inputStyle]=\"{'border-left':'0'}\" -->\n @if (mode !== 'time') {\n <!-- [(ngModel)]=\"dateControl.value\" -->\n <p-datepicker\n #datepickerComp\n [formControl]=\"dateControl\"\n dateFormat=\"dd-mm-yy\"\n dataType=\"string\"\n placeholder=\"DD-MM-YYYY\"\n [showIcon]=\"false\"\n inputId=\"buttondisplay\"\n [showOnFocus]=\"true\"\n appendTo=\"body\"\n class=\"w-full rounded-none\"\n inputStyleClass=\"rtl:border-r-0 ltr:border-l-0\"\n dropdownMode=\"current\"\n [formlyAttributes]=\"field\"\n [disabled]=\"!!props.disabled\"\n (onSelect)=\"onDateChange(true)\"\n (onInput)=\"onDateChange(true)\"\n ></p-datepicker>\n <!-- (onInput)=\"autoFixDate($event)\" -->\n\n }\n\n @if (mode !== 'date') {\n <input\n pInputText\n type=\"text\"\n placeholder=\"00:00\"\n maxlength=\"5\"\n [formControl]=\"timeControl\"\n (input)=\"onTimeInput($event)\"\n (blur)=\"onTimeChange()\"\n class=\"w-20\"\n [ngStyle]=\"{\n 'border-radius': mode == 'time' ? '':'0px',\n 'width': '53px !important',\n 'padding-left': mode == 'time' ? '':'2px',\n 'padding-right': mode == 'time' ? '':'2px',\n 'border-left':mode == 'time' ? '': '0px',\n 'border-right': mode == 'time' ? '': '0px'\n }\"\n [classList]=\"mode == 'time' ? 'p-autocomplete-input p-component p-inputtext' : ''\"\n />\n\n <p-inputGroupAddon [style]=\"{'padding': 'initial'}\">\n <select\n (change)=\"toggleAmPm()\"\n [disabled]=\"!!props.disabled\"\n style=\" padding-top: 0.4rem;\n padding-bottom: 0.5rem; padding-left: 0.5rem;\n padding-right: 0.5rem;\n background: var(--p-button-secondary-background);\n \"\n class=\" pr-8 bg-white text-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed appearance-none\"\n >\n <option value=\"AM\" [selected]=\"ampmControl.value === 'AM'\">{{'AM' | translate}}</option>\n <option value=\"PM\" [selected]=\"ampmControl.value === 'PM'\">{{'PM' | translate}}</option>\n </select>\n </p-inputGroupAddon>\n }\n @if (mode == 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-clock\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n @if (mode !== 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-calendar\"\n (click)=\"datepickerComp.toggle()\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n</p-inputGroup>\n\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgSelectOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.ɵNgSelectMultipleOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.MaxLengthValidator, selector: \"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]\", inputs: [\"maxlength\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: DatePickerModule }, { kind: \"component\", type: i3.DatePicker, selector: \"p-datePicker, p-datepicker, p-date-picker\", inputs: [\"iconDisplay\", \"styleClass\", \"inputStyle\", \"inputId\", \"inputStyleClass\", \"placeholder\", \"ariaLabelledBy\", \"ariaLabel\", \"iconAriaLabel\", \"dateFormat\", \"multipleSeparator\", \"rangeSeparator\", \"inline\", \"showOtherMonths\", \"selectOtherMonths\", \"showIcon\", \"icon\", \"readonlyInput\", \"shortYearCutoff\", \"hourFormat\", \"timeOnly\", \"stepHour\", \"stepMinute\", \"stepSecond\", \"showSeconds\", \"showOnFocus\", \"showWeek\", \"startWeekFromFirstDayOfYear\", \"showClear\", \"dataType\", \"selectionMode\", \"maxDateCount\", \"showButtonBar\", \"todayButtonStyleClass\", \"clearButtonStyleClass\", \"autofocus\", \"autoZIndex\", \"baseZIndex\", \"panelStyleClass\", \"panelStyle\", \"keepInvalid\", \"hideOnDateTimeSelect\", \"touchUI\", \"timeSeparator\", \"focusTrap\", \"showTransitionOptions\", \"hideTransitionOptions\", \"tabindex\", \"minDate\", \"maxDate\", \"disabledDates\", \"disabledDays\", \"showTime\", \"responsiveOptions\", \"numberOfMonths\", \"firstDayOfWeek\", \"view\", \"defaultDate\", \"appendTo\"], outputs: [\"onFocus\", \"onBlur\", \"onClose\", \"onSelect\", \"onClear\", \"onInput\", \"onTodayClick\", \"onClearClick\", \"onMonthChange\", \"onYearChange\", \"onClickOutside\", \"onShow\"] }, { kind: \"ngmodule\", type: ButtonModule }, { kind: \"component\", type: i4.Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"ngmodule\", type: InputTextModule }, { kind: \"directive\", type: i5.InputText, selector: \"[pInputText]\", inputs: [\"pSize\", \"variant\", \"fluid\", \"invalid\"] }, { kind: \"ngmodule\", type: DialogModule }, { kind: \"ngmodule\", type: TranslateModule }, { kind: \"ngmodule\", type: InputGroupModule }, { kind: \"component\", type: i6.InputGroup, selector: \"p-inputgroup, p-inputGroup, p-input-group\", inputs: [\"styleClass\"] }, { kind: \"ngmodule\", type: InputGroupAddonModule }, { kind: \"component\", type: i7.InputGroupAddon, selector: \"p-inputgroup-addon, p-inputGroupAddon\", inputs: [\"style\", \"styleClass\"] }, { kind: \"directive\", type: FormlyAttributes, selector: \"[formlyAttributes]\", inputs: [\"formlyAttributes\", \"id\"] }, { kind: \"ngmodule\", type: SelectModule }, { kind: \"pipe\", type: i8.TranslatePipe, name: \"translate\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyFieldDatepicker, decorators: [{\n type: Component,\n args: [{\n selector: 'formly-field-primeng-datepicker',\n standalone: true,\n imports: [\n FormsModule,\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n ButtonModule,\n InputTextModule,\n DialogModule,\n TranslateModule,\n InputGroupModule,\n InputGroupAddonModule,\n FormlyAttributes,\n SelectModule,\n ],\n template: `\n\n <p-inputGroup class=\"w-full\">\n <!-- [inputStyle]=\"{'border-left':'0'}\" -->\n @if (mode !== 'time') {\n <!-- [(ngModel)]=\"dateControl.value\" -->\n <p-datepicker\n #datepickerComp\n [formControl]=\"dateControl\"\n dateFormat=\"dd-mm-yy\"\n dataType=\"string\"\n placeholder=\"DD-MM-YYYY\"\n [showIcon]=\"false\"\n inputId=\"buttondisplay\"\n [showOnFocus]=\"true\"\n appendTo=\"body\"\n class=\"w-full rounded-none\"\n inputStyleClass=\"rtl:border-r-0 ltr:border-l-0\"\n dropdownMode=\"current\"\n [formlyAttributes]=\"field\"\n [disabled]=\"!!props.disabled\"\n (onSelect)=\"onDateChange(true)\"\n (onInput)=\"onDateChange(true)\"\n ></p-datepicker>\n <!-- (onInput)=\"autoFixDate($event)\" -->\n\n }\n\n @if (mode !== 'date') {\n <input\n pInputText\n type=\"text\"\n placeholder=\"00:00\"\n maxlength=\"5\"\n [formControl]=\"timeControl\"\n (input)=\"onTimeInput($event)\"\n (blur)=\"onTimeChange()\"\n class=\"w-20\"\n [ngStyle]=\"{\n 'border-radius': mode == 'time' ? '':'0px',\n 'width': '53px !important',\n 'padding-left': mode == 'time' ? '':'2px',\n 'padding-right': mode == 'time' ? '':'2px',\n 'border-left':mode == 'time' ? '': '0px',\n 'border-right': mode == 'time' ? '': '0px'\n }\"\n [classList]=\"mode == 'time' ? 'p-autocomplete-input p-component p-inputtext' : ''\"\n />\n\n <p-inputGroupAddon [style]=\"{'padding': 'initial'}\">\n <select\n (change)=\"toggleAmPm()\"\n [disabled]=\"!!props.disabled\"\n style=\" padding-top: 0.4rem;\n padding-bottom: 0.5rem; padding-left: 0.5rem;\n padding-right: 0.5rem;\n background: var(--p-button-secondary-background);\n \"\n class=\" pr-8 bg-white text-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed appearance-none\"\n >\n <option value=\"AM\" [selected]=\"ampmControl.value === 'AM'\">{{'AM' | translate}}</option>\n <option value=\"PM\" [selected]=\"ampmControl.value === 'PM'\">{{'PM' | translate}}</option>\n </select>\n </p-inputGroupAddon>\n }\n @if (mode == 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-clock\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n @if (mode !== 'time') {\n <p-inputGroupAddon>\n <p-button\n tabindex=\"-1\"\n [disabled]=\"!!props.disabled\"\n icon=\"pi pi-calendar\"\n (click)=\"datepickerComp.toggle()\"\n severity=\"primary\"\n />\n </p-inputGroupAddon>\n}\n</p-inputGroup>\n\n `,\n }]\n }], propDecorators: { datepickerComp: [{\n type: ViewChild,\n args: ['datepickerComp']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2RhdGVwaWNrZXIvc3JjL2xpYi9kYXRlcGlja2VyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQWdIOUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQVM7SUFDcEIsY0FBYyxDQUFlO0lBQzNELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDZCxHQUFHLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTFELElBQUks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UUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0ZUO2lCQUNGOzhCQUUrQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGluamVjdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seUF0dHJpYnV0ZXMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRlUGlja2VyLCBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kYXRlcGlja2VyJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cCc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwQWRkb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0Z3JvdXBhZGRvbic7XG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NlbGVjdCc7XG5cblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1seS1maWVsZC1wcmltZW5nLWRhdGVwaWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGF0ZVBpY2tlck1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSW5wdXRHcm91cE1vZHVsZSxcbiAgICBJbnB1dEdyb3VwQWRkb25Nb2R1bGUsXG4gICAgRm9ybWx5QXR0cmlidXRlcyxcbiAgICBTZWxlY3RNb2R1bGUsXG5dLFxuICB0ZW1wbGF0ZTogYFxuXG4gIDxwLWlucHV0R3JvdXAgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICA8IS0tIFtpbnB1dFN0eWxlXT1cInsnYm9yZGVyLWxlZnQnOicwJ31cIiAtLT5cbiAgICAgIEBpZiAobW9kZSAhPT0gJ3RpbWUnKSB7XG4gICAgICAgIDwhLS0gWyhuZ01vZGVsKV09XCJkYXRlQ29udHJvbC52YWx1ZVwiIC0tPlxuICA8cC1kYXRlcGlja2VyXG4gICAgI2RhdGVwaWNrZXJDb21wXG4gICAgW2Zvcm1Db250cm9sXT1cImRhdGVDb250cm9sXCJcbiAgICAgZGF0ZUZvcm1hdD1cImRkLW1tLXl5XCJcbiAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIlxuICAgIHBsYWNlaG9sZGVyPVwiREQtTU0tWVlZWVwiXG4gICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICBpbnB1dElkPVwiYnV0dG9uZGlzcGxheVwiXG4gICAgW3Nob3dPbkZvY3VzXT1cInRydWVcIlxuICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgY2xhc3M9XCJ3LWZ1bGwgcm91bmRlZC1ub25lXCJcbiAgICBpbnB1dFN0eWxlQ2xhc3M9XCJydGw6Ym9yZGVyLXItMCBsdHI6Ym9yZGVyLWwtMFwiXG4gICAgZHJvcGRvd25Nb2RlPVwiY3VycmVudFwiXG4gICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgIFtkaXNhYmxlZF09XCIhIXByb3BzLmRpc2FibGVkXCJcbiAgICAob25TZWxlY3QpPVwib25EYXRlQ2hhbmdlKHRydWUpXCJcbiAgICAob25JbnB1dCk9XCJvbkRhdGVDaGFuZ2UodHJ1ZSlcIlxuICA+PC9wLWRhdGVwaWNrZXI+XG4gIDwhLS0gKG9uSW5wdXQpPVwiYXV0b0ZpeERhdGUoJGV2ZW50KVwiIC0tPlxuXG4gICAgICB9XG5cbiAgQGlmIChtb2RlICE9PSAnZGF0ZScpIHtcbiAgICA8aW5wdXRcbiAgICAgIHBJbnB1dFRleHRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiMDA6MDBcIlxuICAgICAgbWF4bGVuZ3RoPVwiNVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwidGltZUNvbnRyb2xcIlxuICAgICAgKGlucHV0KT1cIm9uVGltZUlucHV0KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwib25UaW1lQ2hhbmdlKClcIlxuICAgICAgY2xhc3M9XCJ3LTIwXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAnYm9yZGVyLXJhZGl1cyc6IG1vZGUgPT0gJ3RpbWUnID8gJyc6JzBweCcsXG4gICAgJ3dpZHRoJzogJzUzcHggIWltcG9ydGFudCcsXG4gICAgJ3BhZGRpbmctbGVmdCc6IG1vZGUgPT0gJ3RpbWUnID8gJyc6JzJweCcsXG4gICAgJ3BhZGRpbmctcmlnaHQnOiBtb2RlID09ICd0aW1lJyA/ICcnOicycHgnLFxuICAgICdib3JkZXItbGVmdCc6bW9kZSA9PSAndGltZScgPyAnJzogJzBweCcsXG4gICAgJ2JvcmRlci1yaWdodCc6IG1vZGUgPT0gJ3RpbWUnID8gJyc6ICcwcHgnXG4gIH1cIlxuICBbY2xhc3NMaXN0XT1cIm1vZGUgPT0gJ3RpbWUnID8gJ3AtYXV0b2NvbXBsZXRlLWlucHV0IHAtY29tcG9uZW50IHAtaW5wdXR0ZXh0JyA6ICcnXCJcbiAgICAvPlxuXG4gICAgPHAtaW5wdXRHcm91cEFkZG9uIFtzdHlsZV09XCJ7J3BhZGRpbmcnOiAnaW5pdGlhbCd9XCI+XG4gICAgIDxzZWxlY3RcbiAgICAoY2hhbmdlKT1cInRvZ2dsZUFtUG0oKVwiXG4gICAgW2Rpc2FibGVkXT1cIiEhcHJvcHMuZGlzYWJsZWRcIlxuICAgIHN0eWxlPVwiICAgICAgIHBhZGRpbmctdG9wOiAwLjRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgXCJcbiAgICBjbGFzcz1cIiAgcHItOCAgYmctd2hpdGUgdGV4dC1ncmF5LTcwMCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDAgZm9jdXM6Ym9yZGVyLXRyYW5zcGFyZW50IGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGFwcGVhcmFuY2Utbm9uZVwiXG4gID5cbiAgICA8b3B0aW9uIHZhbHVlPVwiQU1cIiBbc2VsZWN0ZWRdPVwiYW1wbUNvbnRyb2wudmFsdWUgPT09ICdBTSdcIj57eydBTScgfCB0cmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDxvcHRpb24gdmFsdWU9XCJQTVwiIFtzZWxlY3RlZF09XCJhbXBtQ29udHJvbC52YWx1ZSA9PT0gJ1BNJ1wiPnt7J1BNJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuICAgIDwvcC1pbnB1dEdyb3VwQWRkb24+XG4gIH1cbiAgIEBpZiAobW9kZSA9PSAndGltZScpIHtcbiAgPHAtaW5wdXRHcm91cEFkZG9uPlxuICAgIDxwLWJ1dHRvblxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFwcm9wcy5kaXNhYmxlZFwiXG4gICAgICBpY29uPVwicGkgcGktY2xvY2tcIlxuICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcbiAgICAvPlxuICA8L3AtaW5wdXRHcm91cEFkZG9uPlxufVxuIEBpZiAobW9kZSAhPT0gJ3RpbWUnKSB7XG4gIDxwLWlucHV0R3JvdXBBZGRvbj5cbiAgICA8cC1idXR0b25cbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvcHMuZGlzYWJsZWRcIlxuICAgICAgaWNvbj1cInBpIHBpLWNhbGVuZGFyXCJcbiAgICAgIChjbGljayk9XCJkYXRlcGlja2VyQ29tcC50b2dnbGUoKVwiXG4gICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxuICAgIC8+XG4gIDwvcC1pbnB1dEdyb3VwQWRkb24+XG59XG48L3AtaW5wdXRHcm91cD5cblxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZERhdGVwaWNrZXIgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlckNvbXAnKSBkYXRlcGlja2VyQ29tcCE6IERhdGVQaWNrZXIgO1xuICBkaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgIGdldCBtb2RlKCk6ICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZScge1xuICAgIHJldHVybiAodGhpcy5wcm9wc1snbW9kZSddIGFzICdkYXRlJyB8ICd0aW1lJyB8ICdkYXRldGltZScpIHx8ICdkYXRlJztcbiAgfVxuXG4gIGRhdGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sPERhdGUgfCBhbnk+KG51bGwpO1xuICB0aW1lQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgYW1wbUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8J0FNJyB8ICdQTSc+KCdBTScpO1xuXG4gIGdldCBkaXNwbGF5VmFsdWUoKSB7XG4gICAgY29uc3QgZGF0ZVBhcnQgPSB0aGlzLmRhdGVDb250cm9sLnZhbHVlID8gdGhpcy5kYXRlQ29udHJvbC52YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKSA6ICcnO1xuICAgIGNvbnN0IHRpbWVQYXJ0ID1cbiAgICAgIHRoaXMudGltZUNvbnRyb2wudmFsdWUgJiYgdGhpcy5tb2RlICE9PSAnZGF0ZSdcbiAgICAgICAgPyBgJHt0aGlzLnRpbWVDb250cm9sLnZhbHVlfSAke3RoaXMuYW1wbUNvbnRyb2wudmFsdWV9YFxuICAgICAgICA6ICcnO1xuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSByZXR1cm4gZGF0ZVBhcnQ7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RpbWUnKSByZXR1cm4gdGltZVBhcnQ7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGV0aW1lJykgcmV0dXJuIGRhdGVQYXJ0ICYmIHRpbWVQYXJ0ID8gYCR7ZGF0ZVBhcnR9ICR7dGltZVBhcnR9YCA6IGRhdGVQYXJ0IHx8IHRpbWVQYXJ0IHx8ICcnO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsVmFsdWUodGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxucHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gIGlmICh0aGlzLm1vZGUgIT09ICd0aW1lJykge1xuICAgIC8vIHBhcnNlIGRhdGUgcGFydCAtIGhhbmRsZSBib3RoIGRkLU1NLXl5eXkgYW5kIHl5eXktTU0tZGQgZm9ybWF0c1xuICAgIGNvbnN0IGRhdGVTdHIgPSB2YWx1ZS5zcGxpdCgnVCcpWzBdO1xuICAgIGxldCBkdDogRGF0ZTtcblxuICAgIC8vIENoZWNrIHRoZSBmb3JtYXQgb2YgdGhlIGRhdGUgc3RyaW5nXG4gICAgaWYgKGRhdGVTdHIuaW5jbHVkZXMoJy0nKSkge1xuICAgICAgY29uc3QgcGFydHMgPSBkYXRlU3RyLnNwbGl0KCctJyk7XG5cbiAgICAgIGlmIChwYXJ0c1swXS5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgLy8gRm9ybWF0IGlzIHl5eXktTU0tZGQgKElTTyBmb3JtYXQpXG4gICAgICAgIGR0ID0gbmV3IERhdGUoZGF0ZVN0cik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3JtYXQgaXMgZGQtTU0teXl5eVxuICAgICAgICBjb25zdCBbZGF5LCBtb250aCwgeWVhcl0gPSBwYXJ0cztcbiAgICAgICAgLy8gQ29udmVydCB0byBJU08gZm9ybWF0ICh5eXl5LU1NLWRkKSBmb3IgRGF0ZSBjb25zdHJ1Y3RvclxuICAgICAgICBkdCA9IG5ldyBEYXRlKGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkdCA9IG5ldyBEYXRlKGRhdGVTdHIpO1xuICAgIH1cblxuICAgIGlmICghaXNOYU4oZHQuZ2V0VGltZSgpKSkge1xuICAgICAgdGhpcy5kYXRlQ29udHJvbC5zZXRWYWx1ZShkdCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgZGF0ZSBmb3JtYXQ6JywgZGF0ZVN0cik7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRoaXMubW9kZSAhPT0gJ2RhdGUnKSB7XG4gICAgLy8gcGFyc2UgdGltZSBwYXJ0XG4gICAgbGV0IHRpbWVTdHIgPSAnJztcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZScpIHtcbiAgICAgIHRpbWVTdHIgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdFBhcnQgPSB2YWx1ZS5zcGxpdCgnVCcpWzFdO1xuICAgICAgaWYgKHRQYXJ0KSB0aW1lU3RyID0gdFBhcnQuc3Vic3RyaW5nKDAsIDUpOyAvLyBoaDptbVxuICAgIH1cblxuICAgIGlmICh0aW1lU3RyKSB7XG4gICAgICBjb25zdCBbaG91clN0ciwgbWludXRlU3RyXSA9IHRpbWVTdHIuc3BsaXQoJzonKTtcbiAgICAgIGxldCBob3VycyA9IHBhcnNlSW50KGhvdXJTdHIgPz8gJzEyJywgMTApO1xuICAgICAgY29uc3QgbWludXRlcyA9IHBhcnNlSW50KG1pbnV0ZVN0ciA/PyAnMCcsIDEwKTtcbiAgICAgIGNvbnN0IGFtcG06ICdBTScgfCAnUE0nID0gaG91cnMgPj0gMTIgPyAnUE0nIDogJ0FNJztcbiAgICAgIGhvdXJzID0gaG91cnMgJSAxMiB8fCAxMjtcbiAgICAgIHRoaXMudGltZUNvbnRyb2wuc2V0VmFsdWUoYCR7aG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke21pbnV0ZXMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWAsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMuYW1wbUNvbnRyb2wuc2V0VmFsdWUoYW1wbSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxufVxuXG4gIG9wZW5EaWFsb2coKSB7XG4gICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHNhdmVEaWFsb2coKSB7XG4gICAgdGhpcy51cGRhdGVNb2RlbChmYWxzZSk7XG4gICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuIGF1dG9GaXhEYXRlKGU6IGFueSkge1xuICBsZXQgdiA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuXG5cbiAgaWYgKHYubGVuZ3RoID09PSA4KSB7XG4gICAgY29uc3QgZGQgPSB2LnN1YnN0cmluZygwLCAyKTtcbiAgICBjb25zdCBtbSA9IHYuc3Vic3RyaW5nKDIsIDQpO1xuICAgIGNvbnN0IHl5eXkgPSB2LnN1YnN0cmluZyg0LCA4KTtcblxuICAgIGNvbnN0IGZvcm1hdHRlZCA9IGAke2RkfS0ke21tfS0ke3l5eXl9YDtcbiAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKGZvcm1hdHRlZCBhcyBhbnksIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICB9XG59XG5cblxuXG4gIG9uRGF0ZUNoYW5nZShVSUlucHV0OmJvb2xlYW4pIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKFVJSW5wdXQpO1xuXG4gIH1cblxuICBvblRpbWVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHJldHVybjtcbiAgICBsZXQgaW5wdXQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICBpZiAoaW5wdXQubGVuZ3RoID4gMikgaW5wdXQgPSBpbnB1dC5zbGljZSgwLCAyKSArICc6JyArIGlucHV0LnNsaWNlKDIsIDQpO1xuICAgIGlucHV0ID0gaW5wdXQuc2xpY2UoMCwgNSk7XG4gICAgdGhpcy50aW1lQ29udHJvbC5zZXRWYWx1ZShpbnB1dCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgb25UaW1lQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50aW1lQ29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICBsZXQgW2hvdXJTdHIsIG1pbnV0ZVN0cl0gPSB2YWx1ZS5zcGxpdCgnOicpO1xuICAgIGxldCBob3VycyA9IHBhcnNlSW50KGhvdXJTdHIgPz8gJzEyJywgMTApO1xuICAgIGxldCBtaW51dGVzID0gcGFyc2VJbnQobWludXRlU3RyID8/ICcwJywgMTApO1xuICAgIGlmIChpc05hTihob3VycykgfHwgaG91cnMgPCAxKSBob3VycyA9IDE7XG4gICAgaWYgKGhvdXJzID4gMTIpIGhvdXJzID0gMTI7XG4gICAgaWYgKGlzTmFOKG1pbnV0ZXMpIHx8IG1pbnV0ZXMgPCAwKSBtaW51dGVzID0gMDtcbiAgICBpZiAobWludXRlcyA+IDU5KSBtaW51dGVzID0gNTk7XG5cbiAgICB0aGlzLnRpbWVDb250cm9sLnNldFZhbHVlKGAke2hvdXJzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHttaW51dGVzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gKTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKGZhbHNlKTtcbiAgfVxuXG4gIHRvZ2dsZUFtUG0oKSB7XG4gICAgdGhpcy5hbXBtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmFtcG1Db250cm9sLnZhbHVlID09PSAnQU0nID8gJ1BNJyA6ICdBTScpO1xuICAgICAgdGhpcy51cGRhdGVNb2RlbChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsKFVJSW5wdXQ6Ym9vbGVhbikge1xuICAgIGNvbnN0IGRhdGVWYWwgPSB0aGlzLmRhdGVDb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IHRpbWVWYWwgPSB0aGlzLnRpbWVDb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGFtcG0gPSB0aGlzLmFtcG1Db250cm9sLnZhbHVlID8/ICdBTSc7XG5cbiAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSB7XG4gIGlmIChkYXRlVmFsKSB7XG4gICAgLy8gUGFyc2UgdGhlIGRhdGUgY29uc2lkZXJpbmcgaXQgbWlnaHQgYmUgaW4gZGQtbW0teXkgZm9ybWF0XG4gICAgbGV0IGR0O1xuICAgIGlmICh0eXBlb2YgZGF0ZVZhbCA9PT0gJ3N0cmluZycgJiYgZGF0ZVZhbC5pbmNsdWRlcygnLScpKSB7XG4gICAgICBjb25zdCBbZGF5LCBtb250aCwgeWVhcl0gPSBkYXRlVmFsLnNwbGl0KCctJyk7XG4gICAgICAvLyBDb252ZXJ0IDItZGlnaXQgeWVhciB0byA0LWRpZ2l0IHllYXJcbiAgICAgIGNvbnN0IGZ1bGxZZWFyID0geWVhci5sZW5ndGggPT09IDIgPyBgMjAke3llYXJ9YCA6IHllYXI7XG4gICAgICBkdCA9IG5ldyBEYXRlKGAke2Z1bGxZZWFyfS0ke21vbnRofS0ke2RheX1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZHQgPSBuZXcgRGF0ZShkYXRlVmFsKTtcbiAgICB9XG5cbiAgICAvLyBEb3VibGUtY2hlY2sgdGhlIGZpbmFsIGRhdGUgaXMgdmFsaWRcbiAgICBpZiAoaXNOYU4oZHQuZ2V0VGltZSgpKSkge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBkYXRlIGNyZWF0ZWQsIHVzaW5nIGN1cnJlbnQgZGF0ZScpO1xuICAgICAgZHQgPSBuZXcgRGF0ZSgpOyAvLyBGYWxsYmFjayB0byBjdXJyZW50IGRhdGVcbiAgICB9XG5cbiAgICBjb25zdCB2YWwgPVxuICAgICAgYCR7ZHQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwnMCcpfS1gICtcbiAgICAgIGAkeyhkdC5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwnMCcpfS1gICtcbiAgICAgIGAke2R0LmdldEZ1bGxZZWFyKCl9YDtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLnByb3BzLmNoYW5nZSkge1xuICAgICAgdGhpcy5wcm9wcy5jaGFuZ2UodGhpcy5maWVsZCwgeyBpdGVtOiB0aGlzLm1vZGVsIH0pO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuZWxzZSBpZiAodGhpcy5tb2RlID09PSAndGltZScpIHtcbiAgICAgIGlmICh0aW1lVmFsKSB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGAke3RpbWVWYWx9ICR7YW1wbX1gLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcbiAgICAgaWYgKHRoaXMucHJvcHMuY2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmNoYW5nZSh0aGlzLmZpZWxkLCB7IGl0ZW06IHRoaXMubW9kZWwgfSk7XG4gICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy5tb2RlID09PSAnZGF0ZXRpbWUnKSB7XG5pZiAoZGF0ZVZhbCkge1xuICBsZXQgaG91cnMgPSAwO1xuICBsZXQgbWludXRlcyA9IDA7XG5cbiAgaWYgKHRpbWVWYWwgJiYgdGltZVZhbC50cmltKCkgIT09ICcnKSB7XG4gICAgY29uc3QgW2gsIG1dID0gKHRpbWVWYWwgPz8gJycpLnNwbGl0KCc6Jyk7XG5cbiAgICAvLyBWYWxpZGF0ZSBob3Vyc1xuICAgIGhvdXJzID0gcGFyc2VJbnQoaCwgMTApO1xuICAgIGlmIChpc05hTihob3VycykgfHwgaG91cnMgPCAwIHx8IGhvdXJzID4gMTIpIGhvdXJzID0gMDtcblxuICAgIC8vIFZhbGlkYXRlIG1pbnV0ZXNcbiAgICBtaW51dGVzID0gcGFyc2VJbnQobSwgMTApO1xuICAgIGlmIChpc05hTihtaW51dGVzKSB8fCBtaW51dGVzIDwgMCB8fCBtaW51dGVzID4gNTkpIG1pbnV0ZXMgPSAwO1xuXG4gICAgLy8gQ29udmVydCAxMi1ob3VyIGZvcm1hdCB0byAyNC1ob3VyIGZvcm1hdFxuICAgIGlmIChhbXBtID09PSAnUE0nICYmIGhvdXJzIDwgMTIpIGhvdXJzICs9IDEyO1xuICAgIGlmIChhbXBtID09PSAnQU0nICYmIGhvdXJzID09PSAxMikgaG91cnMgPSAwO1xuICB9XG5cbiAgLy8gRmluYWwgc2FmZXR5IGNoZWNrXG4gIGhvdXJzID0gaXNOYU4oaG91cnMpID8gMCA6IE1hdGgubWF4KDAsIE1hdGgubWluKDIzLCBob3VycykpO1xuICBtaW51dGVzID0gaXNOYU4obWludXRlcykgPyAwIDogTWF0aC5tYXgoMCwgTWF0aC5taW4oNTksIG1pbnV0ZXMpKTtcblxuICAvLyBQYXJzZSB0aGUgZGF0ZSBjb25zaWRlcmluZyBpdCBtaWdodCBiZSBpbiBkZC1tbS15eSBmb3JtYXRcbiAgbGV0IGR0O1xuICBpZiAoZGF0ZVZhbC5pbmNsdWRlcygnLScpKSB7XG4gICAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gZGF0ZVZhbC5zcGxpdCgnLScpO1xuICAgIC8vIENvbnZlcnQgMi1kaWdpdCB5ZWFyIHRvIDQtZGlnaXQgeWVhclxuICAgIGNvbnN0IGZ1bGxZZWFyID0geWVhci5sZW5ndGggPT09IDIgPyBgMjAke3llYXJ9YCA6IHllYXI7XG4gICAgZHQgPSBuZXcgRGF0ZShgJHtmdWxsWWVhcn0tJHttb250aH0tJHtkYXl9YCk7XG4gIH0gZWxzZSB7XG4gICAgZHQgPSBuZXcgRGF0ZShkYXRlVmFsKTtcbiAgfVxuXG4gIGR0LnNldEhvdXJzKGhvdXJzLCBtaW51dGVzLCAwLCAwKTtcblxuICAvLyBEb3VibGUtY2hlY2sgdGhlIGZpbmFsIGRhdGUgaXMgdmFsaWQgLSBpZiBpbnZhbGlkLCBzZXQgdG8gZmlyc3QgaG91ciBvZiBkYXlcbiAgaWYgKGlzTmFOKGR0LmdldFRpbWUoKSkpIHtcbiAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGUgY3JlYXRlZCwgc2V0dGluZyB0byBmaXJzdCBob3VyIG9mIGRheScpO1xuXG4gICAgLy8gQ3JlYXRlIGEgbmV3IHZhbGlkIGRhdGUgd2l0aCBmaXJzdCBob3VyIG9mIGRheVxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgbm93LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgY29uc3QgdmFsID1cbiAgICAgIGAke25vdy5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgICAgYCR7KG5vdy5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwnMCcpfS1gICtcbiAgICAgIGAke25vdy5nZXRGdWxsWWVhcigpfVRgICtcbiAgICAgIGAwMDowMDowMGA7XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbCwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJvcHMuY2hhbmdlKHRoaXMuZmllbGQsIHsgaXRlbTogdGhpcy5tb2RlbCB9KTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdmFsID1cbiAgICBgJHtkdC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgIGAkeyhkdC5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwnMCcpfS1gICtcbiAgICBgJHtkdC5nZXRGdWxsWWVhcigpfVRgICtcbiAgICBgJHtkdC5nZXRIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwnMCcpfTpgICtcbiAgICBgJHtkdC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9OjAwYDtcblxuICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbCwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG5cbiAgaWYgKHRoaXMucHJvcHMuY2hhbmdlKSB7XG4gICAgdGhpcy5wcm9wcy5jaGFuZ2UodGhpcy5maWVsZCwgeyBpdGVtOiB0aGlzLm1vZGVsIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxufVxuXG4gIH1cbn1cbiJdfQ==","import { FormlyFieldDatepicker } from './datepicker.type';\nexport function withFormlyFieldDatepicker() {\n return {\n types: [\n {\n name: 'datepicker',\n component: FormlyFieldDatepicker,\n wrappers: ['form-field'],\n },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxZQUFZO2dCQUNsQixTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDekI7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWx5RmllbGREYXRlcGlja2VyIH0gZnJvbSAnLi9kYXRlcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgQ29uZmlnT3B0aW9uIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGREYXRlcGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGVwaWNrZXInLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkRGF0ZXBpY2tlcixcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { DatePickerModule } from 'primeng/datepicker';\nimport { withFormlyFieldDatepicker } from './datepicker.config';\nimport { FormlyFormFieldModule } from '@elite.framework/ng.ui.core/form-field';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-formly/core\";\nexport class FormlyDatepickerModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, imports: [CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule, i1.FormlyModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, imports: [CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatepicker())] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyDatepickerModule, decorators: [{\n type: NgModule,\n args: [{\n // declarations: [FormlyFieldDatepicker],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n DatePickerModule,\n FormlyFormFieldModule,\n FormlyModule.forChild(withFormlyFieldDatepicker()),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZGF0ZXBpY2tlci9zcmMvbGliL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRyxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBWS9FLE1BQU0sT0FBTyxzQkFBc0I7dUdBQXRCLHNCQUFzQjt3R0FBdEIsc0JBQXNCLFlBUC9CLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjt3R0FJWixzQkFBc0IsWUFQL0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQzs7MkZBR3pDLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUix5Q0FBeUM7b0JBQ3pDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQztxQkFDbkQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7ICBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kYXRlcGlja2VyJztcbmltcG9ydCB7IHdpdGhGb3JtbHlGaWVsZERhdGVwaWNrZXIgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7IEZvcm1seUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtLWZpZWxkJztcblxuQE5nTW9kdWxlKHtcbiAgLy8gZGVjbGFyYXRpb25zOiBbRm9ybWx5RmllbGREYXRlcGlja2VyXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERhdGVQaWNrZXJNb2R1bGUsXG4gICAgRm9ybWx5Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh3aXRoRm9ybWx5RmllbGREYXRlcGlja2VyKCkpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlEYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZGF0ZXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9kYXRlcGlja2VyL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1kYXRlcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}