@elite.framework/ng.ui.core 1.0.90 → 1.0.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elite.framework-ng.ui.core-datepicker.mjs +2 -0
- package/fesm2022/elite.framework-ng.ui.core-datepicker.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.ui.core-generic-search-advanced.mjs +75 -20
- package/fesm2022/elite.framework-ng.ui.core-generic-search-advanced.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.ui.core.mjs +2 -0
- package/fesm2022/elite.framework-ng.ui.core.mjs.map +1 -1
- package/generic-search-advanced/index.d.ts +3 -1
- package/package.json +20 -20
|
@@ -299,6 +299,7 @@ class FormlyFieldDatepicker extends FieldType {
|
|
|
299
299
|
[disabled]="!!props.disabled"
|
|
300
300
|
(onSelect)="onDateChange(true)"
|
|
301
301
|
(onInput)="onDateChange(true)"
|
|
302
|
+
[selectionMode]="props['selectionMode'] || 'single'"
|
|
302
303
|
></p-datepicker>
|
|
303
304
|
<!-- (onInput)="autoFixDate($event)" -->
|
|
304
305
|
|
|
@@ -408,6 +409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
|
|
|
408
409
|
[disabled]="!!props.disabled"
|
|
409
410
|
(onSelect)="onDateChange(true)"
|
|
410
411
|
(onInput)="onDateChange(true)"
|
|
412
|
+
[selectionMode]="props['selectionMode'] || 'single'"
|
|
411
413
|
></p-datepicker>
|
|
412
414
|
<!-- (onInput)="autoFixDate($event)" -->
|
|
413
415
|
|
|
@@ -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 { 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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"}
|
|
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 [selectionMode]=\"props['selectionMode'] || 'single'\"\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 [selectionMode]=\"props['selectionMode'] || 'single'\"\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy51aS5jb3JlL2RhdGVwaWNrZXIvc3JjL2xpYi9kYXRlcGlja2VyLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQWlIOUMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQVM7SUFDcEIsY0FBYyxDQUFlO0lBQzNELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDZCxHQUFHLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTFELElBQUks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LFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5RlQ7aUJBQ0Y7OEJBRStCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5QXR0cmlidXRlcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGVQaWNrZXIsIERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGdyb3VwJztcbmltcG9ydCB7IElucHV0R3JvdXBBZGRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cGFkZG9uJztcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2VsZWN0JztcblxuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLXByaW1lbmctZGF0ZXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgRGlhbG9nTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBJbnB1dEdyb3VwTW9kdWxlLFxuICAgIElucHV0R3JvdXBBZGRvbk1vZHVsZSxcbiAgICBGb3JtbHlBdHRyaWJ1dGVzLFxuICAgIFNlbGVjdE1vZHVsZSxcbl0sXG4gIHRlbXBsYXRlOiBgXG5cbiAgPHAtaW5wdXRHcm91cCBjbGFzcz1cInctZnVsbFwiPlxuICAgIDwhLS0gW2lucHV0U3R5bGVdPVwieydib3JkZXItbGVmdCc6JzAnfVwiIC0tPlxuICAgICAgQGlmIChtb2RlICE9PSAndGltZScpIHtcbiAgICAgICAgPCEtLSBbKG5nTW9kZWwpXT1cImRhdGVDb250cm9sLnZhbHVlXCIgLS0+XG4gIDxwLWRhdGVwaWNrZXJcbiAgICAjZGF0ZXBpY2tlckNvbXBcbiAgICBbZm9ybUNvbnRyb2xdPVwiZGF0ZUNvbnRyb2xcIlxuICAgICBkYXRlRm9ybWF0PVwiZGQtbW0teXlcIlxuICAgICBkYXRhVHlwZT1cInN0cmluZ1wiXG4gICAgcGxhY2Vob2xkZXI9XCJERC1NTS1ZWVlZXCJcbiAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgIGlucHV0SWQ9XCJidXR0b25kaXNwbGF5XCJcbiAgICBbc2hvd09uRm9jdXNdPVwidHJ1ZVwiXG4gICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICBjbGFzcz1cInctZnVsbCByb3VuZGVkLW5vbmVcIlxuICAgIGlucHV0U3R5bGVDbGFzcz1cInJ0bDpib3JkZXItci0wIGx0cjpib3JkZXItbC0wXCJcbiAgICBkcm9wZG93bk1vZGU9XCJjdXJyZW50XCJcbiAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cIiEhcHJvcHMuZGlzYWJsZWRcIlxuICAgIChvblNlbGVjdCk9XCJvbkRhdGVDaGFuZ2UodHJ1ZSlcIlxuICAgIChvbklucHV0KT1cIm9uRGF0ZUNoYW5nZSh0cnVlKVwiXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwicHJvcHNbJ3NlbGVjdGlvbk1vZGUnXSB8fCAnc2luZ2xlJ1wiXG4gID48L3AtZGF0ZXBpY2tlcj5cbiAgPCEtLSAob25JbnB1dCk9XCJhdXRvRml4RGF0ZSgkZXZlbnQpXCIgLS0+XG5cbiAgICAgIH1cblxuICBAaWYgKG1vZGUgIT09ICdkYXRlJykge1xuICAgIDxpbnB1dFxuICAgICAgcElucHV0VGV4dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcGxhY2Vob2xkZXI9XCIwMDowMFwiXG4gICAgICBtYXhsZW5ndGg9XCI1XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJ0aW1lQ29udHJvbFwiXG4gICAgICAoaW5wdXQpPVwib25UaW1lSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvblRpbWVDaGFuZ2UoKVwiXG4gICAgICBjbGFzcz1cInctMjBcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICdib3JkZXItcmFkaXVzJzogbW9kZSA9PSAndGltZScgPyAnJzonMHB4JyxcbiAgICAnd2lkdGgnOiAnNTNweCAhaW1wb3J0YW50JyxcbiAgICAncGFkZGluZy1sZWZ0JzogbW9kZSA9PSAndGltZScgPyAnJzonMnB4JyxcbiAgICAncGFkZGluZy1yaWdodCc6IG1vZGUgPT0gJ3RpbWUnID8gJyc6JzJweCcsXG4gICAgJ2JvcmRlci1sZWZ0Jzptb2RlID09ICd0aW1lJyA/ICcnOiAnMHB4JyxcbiAgICAnYm9yZGVyLXJpZ2h0JzogbW9kZSA9PSAndGltZScgPyAnJzogJzBweCdcbiAgfVwiXG4gIFtjbGFzc0xpc3RdPVwibW9kZSA9PSAndGltZScgPyAncC1hdXRvY29tcGxldGUtaW5wdXQgcC1jb21wb25lbnQgcC1pbnB1dHRleHQnIDogJydcIlxuICAgIC8+XG5cbiAgICA8cC1pbnB1dEdyb3VwQWRkb24gW3N0eWxlXT1cInsncGFkZGluZyc6ICdpbml0aWFsJ31cIj5cbiAgICAgPHNlbGVjdFxuICAgIChjaGFuZ2UpPVwidG9nZ2xlQW1QbSgpXCJcbiAgICBbZGlzYWJsZWRdPVwiISFwcm9wcy5kaXNhYmxlZFwiXG4gICAgc3R5bGU9XCIgICAgICAgcGFkZGluZy10b3A6IDAuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXAtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICBcIlxuICAgIGNsYXNzPVwiICBwci04ICBiZy13aGl0ZSB0ZXh0LWdyYXktNzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItdHJhbnNwYXJlbnQgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYXBwZWFyYW5jZS1ub25lXCJcbiAgPlxuICAgIDxvcHRpb24gdmFsdWU9XCJBTVwiIFtzZWxlY3RlZF09XCJhbXBtQ29udHJvbC52YWx1ZSA9PT0gJ0FNJ1wiPnt7J0FNJyB8IHRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgPG9wdGlvbiB2YWx1ZT1cIlBNXCIgW3NlbGVjdGVkXT1cImFtcG1Db250cm9sLnZhbHVlID09PSAnUE0nXCI+e3snUE0nIHwgdHJhbnNsYXRlfX08L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG4gICAgPC9wLWlucHV0R3JvdXBBZGRvbj5cbiAgfVxuICAgQGlmIChtb2RlID09ICd0aW1lJykge1xuICA8cC1pbnB1dEdyb3VwQWRkb24+XG4gICAgPHAtYnV0dG9uXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIXByb3BzLmRpc2FibGVkXCJcbiAgICAgIGljb249XCJwaSBwaS1jbG9ja1wiXG4gICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxuICAgIC8+XG4gIDwvcC1pbnB1dEdyb3VwQWRkb24+XG59XG4gQGlmIChtb2RlICE9PSAndGltZScpIHtcbiAgPHAtaW5wdXRHcm91cEFkZG9uPlxuICAgIDxwLWJ1dHRvblxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFwcm9wcy5kaXNhYmxlZFwiXG4gICAgICBpY29uPVwicGkgcGktY2FsZW5kYXJcIlxuICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXJDb21wLnRvZ2dsZSgpXCJcbiAgICAgIHNldmVyaXR5PVwicHJpbWFyeVwiXG4gICAgLz5cbiAgPC9wLWlucHV0R3JvdXBBZGRvbj5cbn1cbjwvcC1pbnB1dEdyb3VwPlxuXG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkRGF0ZXBpY2tlciBleHRlbmRzIEZpZWxkVHlwZSB7XG4gICBAVmlld0NoaWxkKCdkYXRlcGlja2VyQ29tcCcpIGRhdGVwaWNrZXJDb21wITogRGF0ZVBpY2tlciA7XG4gIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgZ2V0IG1vZGUoKTogJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJyB7XG4gICAgcmV0dXJuICh0aGlzLnByb3BzWydtb2RlJ10gYXMgJ2RhdGUnIHwgJ3RpbWUnIHwgJ2RhdGV0aW1lJykgfHwgJ2RhdGUnO1xuICB9XG5cbiAgZGF0ZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RGF0ZSB8IGFueT4obnVsbCk7XG4gIHRpbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBhbXBtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDwnQU0nIHwgJ1BNJz4oJ0FNJyk7XG5cbiAgZ2V0IGRpc3BsYXlWYWx1ZSgpIHtcbiAgICBjb25zdCBkYXRlUGFydCA9IHRoaXMuZGF0ZUNvbnRyb2wudmFsdWUgPyB0aGlzLmRhdGVDb250cm9sLnZhbHVlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDogJyc7XG4gICAgY29uc3QgdGltZVBhcnQgPVxuICAgICAgdGhpcy50aW1lQ29udHJvbC52YWx1ZSAmJiB0aGlzLm1vZGUgIT09ICdkYXRlJ1xuICAgICAgICA/IGAke3RoaXMudGltZUNvbnRyb2wudmFsdWV9ICR7dGhpcy5hbXBtQ29udHJvbC52YWx1ZX1gXG4gICAgICAgIDogJyc7XG5cbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHJldHVybiBkYXRlUGFydDtcbiAgICBpZiAodGhpcy5tb2RlID09PSAndGltZScpIHJldHVybiB0aW1lUGFydDtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZXRpbWUnKSByZXR1cm4gZGF0ZVBhcnQgJiYgdGltZVBhcnQgPyBgJHtkYXRlUGFydH0gJHt0aW1lUGFydH1gIDogZGF0ZVBhcnQgfHwgdGltZVBhcnQgfHwgJyc7XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG5wcml2YXRlIHNldEluaXRpYWxWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgaWYgKHRoaXMubW9kZSAhPT0gJ3RpbWUnKSB7XG4gICAgLy8gcGFyc2UgZGF0ZSBwYXJ0IC0gaGFuZGxlIGJvdGggZGQtTU0teXl5eSBhbmQgeXl5eS1NTS1kZCBmb3JtYXRzXG4gICAgY29uc3QgZGF0ZVN0ciA9IHZhbHVlLnNwbGl0KCdUJylbMF07XG4gICAgbGV0IGR0OiBEYXRlO1xuXG4gICAgLy8gQ2hlY2sgdGhlIGZvcm1hdCBvZiB0aGUgZGF0ZSBzdHJpbmdcbiAgICBpZiAoZGF0ZVN0ci5pbmNsdWRlcygnLScpKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGRhdGVTdHIuc3BsaXQoJy0nKTtcblxuICAgICAgaWYgKHBhcnRzWzBdLmxlbmd0aCA9PT0gNCkge1xuICAgICAgICAvLyBGb3JtYXQgaXMgeXl5eS1NTS1kZCAoSVNPIGZvcm1hdClcbiAgICAgICAgZHQgPSBuZXcgRGF0ZShkYXRlU3RyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvcm1hdCBpcyBkZC1NTS15eXl5XG4gICAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IHBhcnRzO1xuICAgICAgICAvLyBDb252ZXJ0IHRvIElTTyBmb3JtYXQgKHl5eXktTU0tZGQpIGZvciBEYXRlIGNvbnN0cnVjdG9yXG4gICAgICAgIGR0ID0gbmV3IERhdGUoYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGR0ID0gbmV3IERhdGUoZGF0ZVN0cik7XG4gICAgfVxuXG4gICAgaWYgKCFpc05hTihkdC5nZXRUaW1lKCkpKSB7XG4gICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKGR0LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBkYXRlIGZvcm1hdDonLCBkYXRlU3RyKTtcbiAgICB9XG4gIH1cblxuICBpZiAodGhpcy5tb2RlICE9PSAnZGF0ZScpIHtcbiAgICAvLyBwYXJzZSB0aW1lIHBhcnRcbiAgICBsZXQgdGltZVN0ciA9ICcnO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lJykge1xuICAgICAgdGltZVN0ciA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0UGFydCA9IHZhbHVlLnNwbGl0KCdUJylbMV07XG4gICAgICBpZiAodFBhcnQpIHRpbWVTdHIgPSB0UGFydC5zdWJzdHJpbmcoMCwgNSk7IC8vIGhoOm1tXG4gICAgfVxuXG4gICAgaWYgKHRpbWVTdHIpIHtcbiAgICAgIGNvbnN0IFtob3VyU3RyLCBtaW51dGVTdHJdID0gdGltZVN0ci5zcGxpdCgnOicpO1xuICAgICAgbGV0IGhvdXJzID0gcGFyc2VJbnQoaG91clN0ciA/PyAnMTInLCAxMCk7XG4gICAgICBjb25zdCBtaW51dGVzID0gcGFyc2VJbnQobWludXRlU3RyID8/ICcwJywgMTApO1xuICAgICAgY29uc3QgYW1wbTogJ0FNJyB8ICdQTScgPSBob3VycyA+PSAxMiA/ICdQTScgOiAnQU0nO1xuICAgICAgaG91cnMgPSBob3VycyAlIDEyIHx8IDEyO1xuICAgICAgdGhpcy50aW1lQ29udHJvbC5zZXRWYWx1ZShgJHtob3Vycy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5hbXBtQ29udHJvbC5zZXRWYWx1ZShhbXBtLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG59XG5cbiAgb3BlbkRpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgc2F2ZURpYWxvZygpIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKGZhbHNlKTtcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gYXV0b0ZpeERhdGUoZTogYW55KSB7XG4gIGxldCB2ID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG5cblxuICBpZiAodi5sZW5ndGggPT09IDgpIHtcbiAgICBjb25zdCBkZCA9IHYuc3Vic3RyaW5nKDAsIDIpO1xuICAgIGNvbnN0IG1tID0gdi5zdWJzdHJpbmcoMiwgNCk7XG4gICAgY29uc3QgeXl5eSA9IHYuc3Vic3RyaW5nKDQsIDgpO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gYCR7ZGR9LSR7bW19LSR7eXl5eX1gO1xuICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoZm9ybWF0dGVkIGFzIGFueSwgeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gIH1cbn1cblxuXG5cbiAgb25EYXRlQ2hhbmdlKFVJSW5wdXQ6Ym9vbGVhbikge1xuICAgIHRoaXMudXBkYXRlTW9kZWwoVUlJbnB1dCk7XG5cbiAgfVxuXG4gIG9uVGltZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkYXRlJykgcmV0dXJuO1xuICAgIGxldCBpbnB1dCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgIGlmIChpbnB1dC5sZW5ndGggPiAyKSBpbnB1dCA9IGlucHV0LnNsaWNlKDAsIDIpICsgJzonICsgaW5wdXQuc2xpY2UoMiwgNCk7XG4gICAgaW5wdXQgPSBpbnB1dC5zbGljZSgwLCA1KTtcbiAgICB0aGlzLnRpbWVDb250cm9sLnNldFZhbHVlKGlucHV0LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICBvblRpbWVDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2RhdGUnKSByZXR1cm47XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRpbWVDb250cm9sLnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIGxldCBbaG91clN0ciwgbWludXRlU3RyXSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgbGV0IGhvdXJzID0gcGFyc2VJbnQoaG91clN0ciA/PyAnMTInLCAxMCk7XG4gICAgbGV0IG1pbnV0ZXMgPSBwYXJzZUludChtaW51dGVTdHIgPz8gJzAnLCAxMCk7XG4gICAgaWYgKGlzTmFOKGhvdXJzKSB8fCBob3VycyA8IDEpIGhvdXJzID0gMTtcbiAgICBpZiAoaG91cnMgPiAxMikgaG91cnMgPSAxMjtcbiAgICBpZiAoaXNOYU4obWludXRlcykgfHwgbWludXRlcyA8IDApIG1pbnV0ZXMgPSAwO1xuICAgIGlmIChtaW51dGVzID4gNTkpIG1pbnV0ZXMgPSA1OTtcblxuICAgIHRoaXMudGltZUNvbnRyb2wuc2V0VmFsdWUoYCR7aG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke21pbnV0ZXMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWApO1xuICAgIHRoaXMudXBkYXRlTW9kZWwoZmFsc2UpO1xuICB9XG5cbiAgdG9nZ2xlQW1QbSgpIHtcbiAgICB0aGlzLmFtcG1Db250cm9sLnNldFZhbHVlKHRoaXMuYW1wbUNvbnRyb2wudmFsdWUgPT09ICdBTScgPyAnUE0nIDogJ0FNJyk7XG4gICAgICB0aGlzLnVwZGF0ZU1vZGVsKGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTW9kZWwoVUlJbnB1dDpib29sZWFuKSB7XG4gICAgY29uc3QgZGF0ZVZhbCA9IHRoaXMuZGF0ZUNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgdGltZVZhbCA9IHRoaXMudGltZUNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgYW1wbSA9IHRoaXMuYW1wbUNvbnRyb2wudmFsdWUgPz8gJ0FNJztcblxuICBpZiAodGhpcy5tb2RlID09PSAnZGF0ZScpIHtcbiAgaWYgKGRhdGVWYWwpIHtcbiAgICAvLyBQYXJzZSB0aGUgZGF0ZSBjb25zaWRlcmluZyBpdCBtaWdodCBiZSBpbiBkZC1tbS15eSBmb3JtYXRcbiAgICBsZXQgZHQ7XG4gICAgaWYgKHR5cGVvZiBkYXRlVmFsID09PSAnc3RyaW5nJyAmJiBkYXRlVmFsLmluY2x1ZGVzKCctJykpIHtcbiAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGRhdGVWYWwuc3BsaXQoJy0nKTtcbiAgICAgIC8vIENvbnZlcnQgMi1kaWdpdCB5ZWFyIHRvIDQtZGlnaXQgeWVhclxuICAgICAgY29uc3QgZnVsbFllYXIgPSB5ZWFyLmxlbmd0aCA9PT0gMiA/IGAyMCR7eWVhcn1gIDogeWVhcjtcbiAgICAgIGR0ID0gbmV3IERhdGUoYCR7ZnVsbFllYXJ9LSR7bW9udGh9LSR7ZGF5fWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBkdCA9IG5ldyBEYXRlKGRhdGVWYWwpO1xuICAgIH1cblxuICAgIC8vIERvdWJsZS1jaGVjayB0aGUgZmluYWwgZGF0ZSBpcyB2YWxpZFxuICAgIGlmIChpc05hTihkdC5nZXRUaW1lKCkpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGUgY3JlYXRlZCwgdXNpbmcgY3VycmVudCBkYXRlJyk7XG4gICAgICBkdCA9IG5ldyBEYXRlKCk7IC8vIEZhbGxiYWNrIHRvIGN1cnJlbnQgZGF0ZVxuICAgIH1cblxuICAgIGNvbnN0IHZhbCA9XG4gICAgICBgJHtkdC5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgICAgYCR7KGR0LmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgICAgYCR7ZHQuZ2V0RnVsbFllYXIoKX1gO1xuXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWwsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuY2hhbmdlKSB7XG4gICAgICB0aGlzLnByb3BzLmNoYW5nZSh0aGlzLmZpZWxkLCB7IGl0ZW06IHRoaXMubW9kZWwgfSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG5lbHNlIGlmICh0aGlzLm1vZGUgPT09ICd0aW1lJykge1xuICAgICAgaWYgKHRpbWVWYWwpIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoYCR7dGltZVZhbH0gJHthbXBtfWAsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICBpZiAodGhpcy5wcm9wcy5jaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2hhbmdlKHRoaXMuZmllbGQsIHsgaXRlbTogdGhpcy5tb2RlbCB9KTtcbiAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdkYXRldGltZScpIHtcbmlmIChkYXRlVmFsKSB7XG4gIGxldCBob3VycyA9IDA7XG4gIGxldCBtaW51dGVzID0gMDtcblxuICBpZiAodGltZVZhbCAmJiB0aW1lVmFsLnRyaW0oKSAhPT0gJycpIHtcbiAgICBjb25zdCBbaCwgbV0gPSAodGltZVZhbCA/PyAnJykuc3BsaXQoJzonKTtcblxuICAgIC8vIFZhbGlkYXRlIGhvdXJzXG4gICAgaG91cnMgPSBwYXJzZUludChoLCAxMCk7XG4gICAgaWYgKGlzTmFOKGhvdXJzKSB8fCBob3VycyA8IDAgfHwgaG91cnMgPiAxMikgaG91cnMgPSAwO1xuXG4gICAgLy8gVmFsaWRhdGUgbWludXRlc1xuICAgIG1pbnV0ZXMgPSBwYXJzZUludChtLCAxMCk7XG4gICAgaWYgKGlzTmFOKG1pbnV0ZXMpIHx8IG1pbnV0ZXMgPCAwIHx8IG1pbnV0ZXMgPiA1OSkgbWludXRlcyA9IDA7XG5cbiAgICAvLyBDb252ZXJ0IDEyLWhvdXIgZm9ybWF0IHRvIDI0LWhvdXIgZm9ybWF0XG4gICAgaWYgKGFtcG0gPT09ICdQTScgJiYgaG91cnMgPCAxMikgaG91cnMgKz0gMTI7XG4gICAgaWYgKGFtcG0gPT09ICdBTScgJiYgaG91cnMgPT09IDEyKSBob3VycyA9IDA7XG4gIH1cblxuICAvLyBGaW5hbCBzYWZldHkgY2hlY2tcbiAgaG91cnMgPSBpc05hTihob3VycykgPyAwIDogTWF0aC5tYXgoMCwgTWF0aC5taW4oMjMsIGhvdXJzKSk7XG4gIG1pbnV0ZXMgPSBpc05hTihtaW51dGVzKSA/IDAgOiBNYXRoLm1heCgwLCBNYXRoLm1pbig1OSwgbWludXRlcykpO1xuXG4gIC8vIFBhcnNlIHRoZSBkYXRlIGNvbnNpZGVyaW5nIGl0IG1pZ2h0IGJlIGluIGRkLW1tLXl5IGZvcm1hdFxuICBsZXQgZHQ7XG4gIGlmIChkYXRlVmFsLmluY2x1ZGVzKCctJykpIHtcbiAgICBjb25zdCBbZGF5LCBtb250aCwgeWVhcl0gPSBkYXRlVmFsLnNwbGl0KCctJyk7XG4gICAgLy8gQ29udmVydCAyLWRpZ2l0IHllYXIgdG8gNC1kaWdpdCB5ZWFyXG4gICAgY29uc3QgZnVsbFllYXIgPSB5ZWFyLmxlbmd0aCA9PT0gMiA/IGAyMCR7eWVhcn1gIDogeWVhcjtcbiAgICBkdCA9IG5ldyBEYXRlKGAke2Z1bGxZZWFyfS0ke21vbnRofS0ke2RheX1gKTtcbiAgfSBlbHNlIHtcbiAgICBkdCA9IG5ldyBEYXRlKGRhdGVWYWwpO1xuICB9XG5cbiAgZHQuc2V0SG91cnMoaG91cnMsIG1pbnV0ZXMsIDAsIDApO1xuXG4gIC8vIERvdWJsZS1jaGVjayB0aGUgZmluYWwgZGF0ZSBpcyB2YWxpZCAtIGlmIGludmFsaWQsIHNldCB0byBmaXJzdCBob3VyIG9mIGRheVxuICBpZiAoaXNOYU4oZHQuZ2V0VGltZSgpKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZSBjcmVhdGVkLCBzZXR0aW5nIHRvIGZpcnN0IGhvdXIgb2YgZGF5Jyk7XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgdmFsaWQgZGF0ZSB3aXRoIGZpcnN0IGhvdXIgb2YgZGF5XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICBub3cuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cbiAgICBjb25zdCB2YWwgPVxuICAgICAgYCR7bm93LmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsJzAnKX0tYCArXG4gICAgICBgJHsobm93LmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgICAgYCR7bm93LmdldEZ1bGxZZWFyKCl9VGAgK1xuICAgICAgYDAwOjAwOjAwYDtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLnByb3BzLmNoYW5nZSkge1xuICAgICAgdGhpcy5wcm9wcy5jaGFuZ2UodGhpcy5maWVsZCwgeyBpdGVtOiB0aGlzLm1vZGVsIH0pO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB2YWwgPVxuICAgIGAke2R0LmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsJzAnKX0tYCArXG4gICAgYCR7KGR0LmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9LWAgK1xuICAgIGAke2R0LmdldEZ1bGxZZWFyKCl9VGAgK1xuICAgIGAke2R0LmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCcwJyl9OmAgK1xuICAgIGAke2R0LmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsJzAnKX06MDBgO1xuXG4gIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsLCB7IGVtaXRFdmVudDogdHJ1ZSB9KTtcblxuICBpZiAodGhpcy5wcm9wcy5jaGFuZ2UpIHtcbiAgICB0aGlzLnByb3BzLmNoYW5nZSh0aGlzLmZpZWxkLCB7IGl0ZW06IHRoaXMubW9kZWwgfSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG59XG5cbiAgfVxufVxuIl19","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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"}
|
|
@@ -1152,6 +1152,15 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1152
1152
|
this.initializeDefaultConditions();
|
|
1153
1153
|
}
|
|
1154
1154
|
}
|
|
1155
|
+
initializeConditionsWithFieldConfigs(conditions, groupIndex) {
|
|
1156
|
+
return conditions.map((condition, conditionIndex) => ({
|
|
1157
|
+
...condition,
|
|
1158
|
+
operatorsForField: this.getOperatorsForField(condition.field),
|
|
1159
|
+
valueFieldConfig: condition.field ?
|
|
1160
|
+
this.generateValueFieldConfig(condition, groupIndex, conditionIndex) :
|
|
1161
|
+
null
|
|
1162
|
+
}));
|
|
1163
|
+
}
|
|
1155
1164
|
getLogicalOperatorText(operator) {
|
|
1156
1165
|
const operatorMap = {
|
|
1157
1166
|
'and': this.translate.instant('and'),
|
|
@@ -1166,7 +1175,7 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1166
1175
|
const defaultConditions = [];
|
|
1167
1176
|
for (let i = 0; i < defaultFields.length; i++) {
|
|
1168
1177
|
const field = defaultFields[i];
|
|
1169
|
-
defaultConditions.push(this.createDefaultCondition(field, 0, i));
|
|
1178
|
+
defaultConditions.push(this.createDefaultCondition(field, 0, i, field.props?.operator));
|
|
1170
1179
|
}
|
|
1171
1180
|
this.groups = [{
|
|
1172
1181
|
logicalOperator: 'and',
|
|
@@ -1187,17 +1196,17 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1187
1196
|
}
|
|
1188
1197
|
isSupportedFieldType(fieldType) {
|
|
1189
1198
|
// Only include field types that make sense for filtering
|
|
1190
|
-
const supportedTypes = ['input', 'number', 'datepicker', 'select', 'checkbox', 'generic-selector', 'switch', 'radio', 'textarea'];
|
|
1199
|
+
const supportedTypes = ['input', 'number', 'datepicker', 'custom-datepicker', 'select', 'checkbox', 'generic-selector', 'switch', 'radio', 'textarea'];
|
|
1191
1200
|
return supportedTypes.includes(fieldType);
|
|
1192
1201
|
}
|
|
1193
1202
|
getFieldLabel(key) {
|
|
1194
1203
|
const f = this.props['fields']?.find((x) => x.key === key);
|
|
1195
1204
|
return f ? f.label : '';
|
|
1196
1205
|
}
|
|
1197
|
-
createDefaultCondition(field, groupIndex, conditionIndex) {
|
|
1206
|
+
createDefaultCondition(field, groupIndex, conditionIndex, operator) {
|
|
1198
1207
|
const defaultCondition = {
|
|
1199
1208
|
field: field.key,
|
|
1200
|
-
operator: this.getDefaultOperator(field.type),
|
|
1209
|
+
operator: operator ? operator : this.getDefaultOperator(field.type),
|
|
1201
1210
|
value: this.getDefaultValue(field.type),
|
|
1202
1211
|
valueFieldConfig: null,
|
|
1203
1212
|
operatorsForField: this.getOperatorsForField(field),
|
|
@@ -1206,15 +1215,6 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1206
1215
|
defaultCondition.valueFieldConfig = this.generateValueFieldConfig(defaultCondition, groupIndex, conditionIndex);
|
|
1207
1216
|
return defaultCondition;
|
|
1208
1217
|
}
|
|
1209
|
-
initializeConditionsWithFieldConfigs(conditions, groupIndex) {
|
|
1210
|
-
return conditions.map((condition, conditionIndex) => ({
|
|
1211
|
-
...condition,
|
|
1212
|
-
operatorsForField: this.getOperatorsForField(condition.field),
|
|
1213
|
-
valueFieldConfig: condition.field ?
|
|
1214
|
-
this.generateValueFieldConfig(condition, groupIndex, conditionIndex) :
|
|
1215
|
-
null
|
|
1216
|
-
}));
|
|
1217
|
-
}
|
|
1218
1218
|
// Field type and operator methods that use QueryBuilderService logic
|
|
1219
1219
|
getFieldType(fieldKey) {
|
|
1220
1220
|
const field = this.props['fields'].find((f) => f.key === fieldKey);
|
|
@@ -1313,9 +1313,33 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1313
1313
|
});
|
|
1314
1314
|
this.updateValue();
|
|
1315
1315
|
}
|
|
1316
|
+
// removeGroup(groupIndex: number) {
|
|
1317
|
+
// this.groups.splice(groupIndex, 1);
|
|
1318
|
+
// this.updateValue();
|
|
1319
|
+
// }
|
|
1316
1320
|
removeGroup(groupIndex) {
|
|
1317
|
-
this.groups
|
|
1318
|
-
|
|
1321
|
+
if (this.groups[groupIndex]) {
|
|
1322
|
+
// Get all field keys for this group before deleting
|
|
1323
|
+
const fieldKeysToRemove = [];
|
|
1324
|
+
// Collect all condition field keys in this group
|
|
1325
|
+
if (this.groups[groupIndex].conditions) {
|
|
1326
|
+
for (let c = 0; c < this.groups[groupIndex].conditions.length; c++) {
|
|
1327
|
+
const fieldKey = this.getConditionValueKey(groupIndex, c);
|
|
1328
|
+
fieldKeysToRemove.push(fieldKey);
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
// Remove the group
|
|
1332
|
+
this.groups.splice(groupIndex, 1);
|
|
1333
|
+
// Remove all associated fields from model
|
|
1334
|
+
this.removeMultipleFromModel(fieldKeysToRemove);
|
|
1335
|
+
this.updateValue();
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
// Remove multiple fields from formly model
|
|
1339
|
+
removeMultipleFromModel(fieldKeys) {
|
|
1340
|
+
fieldKeys.forEach(fieldKey => {
|
|
1341
|
+
this.removeFromModel(fieldKey);
|
|
1342
|
+
});
|
|
1319
1343
|
}
|
|
1320
1344
|
// Condition Management
|
|
1321
1345
|
addCondition(groupIndex = 0) {
|
|
@@ -1353,14 +1377,35 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1353
1377
|
}
|
|
1354
1378
|
removeCondition(groupIndex, conditionIndex) {
|
|
1355
1379
|
if (this.groups[groupIndex]) {
|
|
1356
|
-
|
|
1380
|
+
// Get the field key before deleting so we can remove from model
|
|
1381
|
+
const fieldKey = this.getConditionValueKey(groupIndex, conditionIndex);
|
|
1382
|
+
// Using delete operator (sets to undefined, then we filter)
|
|
1383
|
+
delete this.groups[groupIndex].conditions[conditionIndex];
|
|
1384
|
+
// Remove the undefined entries from conditions array
|
|
1385
|
+
this.groups[groupIndex].conditions = this.groups[groupIndex].conditions.filter((condition) => condition !== undefined);
|
|
1357
1386
|
// Remove empty groups
|
|
1358
1387
|
if (this.groups[groupIndex].conditions.length === 0 && this.groups.length > 1) {
|
|
1359
|
-
this.
|
|
1388
|
+
delete this.groups[groupIndex];
|
|
1389
|
+
// Remove undefined groups from array
|
|
1390
|
+
this.groups = this.groups.filter(group => group !== undefined);
|
|
1360
1391
|
}
|
|
1392
|
+
// Remove from formly model
|
|
1393
|
+
this.removeFromModel(fieldKey);
|
|
1361
1394
|
this.updateValue();
|
|
1362
1395
|
}
|
|
1363
1396
|
}
|
|
1397
|
+
// Remove the field from formly model
|
|
1398
|
+
removeFromModel(fieldKey) {
|
|
1399
|
+
if (this.model && this.model.hasOwnProperty(fieldKey)) {
|
|
1400
|
+
delete this.model[fieldKey];
|
|
1401
|
+
}
|
|
1402
|
+
// Also update the form control to ensure sync
|
|
1403
|
+
if (this.formControl.value && this.formControl.value.hasOwnProperty(fieldKey)) {
|
|
1404
|
+
const updatedValue = { ...this.formControl.value };
|
|
1405
|
+
delete updatedValue[fieldKey];
|
|
1406
|
+
this.formControl.setValue(updatedValue);
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1364
1409
|
// Value Management
|
|
1365
1410
|
updateValue() {
|
|
1366
1411
|
// Sync condition values from form model with safe access
|
|
@@ -1369,9 +1414,13 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1369
1414
|
for (let c = 0; c < group.conditions.length; c++) {
|
|
1370
1415
|
const condition = group.conditions[c];
|
|
1371
1416
|
const fieldKey = this.getConditionValueKey(g, c);
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1417
|
+
try {
|
|
1418
|
+
const modelValue = this.model?.[fieldKey];
|
|
1419
|
+
if (modelValue !== undefined) {
|
|
1420
|
+
condition.value = modelValue;
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
catch (error) {
|
|
1375
1424
|
}
|
|
1376
1425
|
}
|
|
1377
1426
|
}
|
|
@@ -1398,6 +1447,12 @@ class QueryBuilderComponent extends FieldType {
|
|
|
1398
1447
|
}
|
|
1399
1448
|
clearAll() {
|
|
1400
1449
|
this.groups = [];
|
|
1450
|
+
// Completely reset the form and model
|
|
1451
|
+
this.form.reset();
|
|
1452
|
+
// Manually set model to empty object
|
|
1453
|
+
Object.keys(this.model).forEach(key => {
|
|
1454
|
+
delete this.model[key];
|
|
1455
|
+
});
|
|
1401
1456
|
this.addGroup();
|
|
1402
1457
|
}
|
|
1403
1458
|
// Helper methods
|