i-tech-shared-components 1.1.39 → 1.1.41

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.
@@ -0,0 +1,87 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { MatDatepickerModule } from "@angular/material/datepicker";
3
+ import { NgxMaskDirective } from "ngx-mask";
4
+ import { FormsModule, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from "@angular/forms";
5
+ import { NgClass, NgIf } from "@angular/common";
6
+ import { MatError, MatLabel } from "@angular/material/form-field";
7
+ import { TranslateModule } from "@ngx-translate/core";
8
+ import { DateMaskDirective } from "../../directives/date-mask.directive";
9
+ import { ParseDateService } from "../../services/parse-date.service";
10
+ import { GenerateErrorMessagesPipe } from "../../pipes/generate-error-messages.pipe";
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../services/input.service";
13
+ import * as i2 from "../../services/parse-date.service";
14
+ import * as i3 from "@angular/material/datepicker";
15
+ import * as i4 from "@ngx-translate/core";
16
+ import * as i5 from "@angular/forms";
17
+ export class DateTimePickerComponent {
18
+ constructor(inputService, parseDateService) {
19
+ this.inputService = inputService;
20
+ this.parseDateService = parseDateService;
21
+ this.dateChangeEvent = new EventEmitter();
22
+ this.submit = false;
23
+ this.required = false;
24
+ this.isFocused = false;
25
+ this.form = new UntypedFormGroup({
26
+ time: new UntypedFormControl(),
27
+ date: new UntypedFormControl(),
28
+ });
29
+ this.ngControl = this.inputService.injectNgControl();
30
+ }
31
+ ngAfterViewInit() {
32
+ this.setValue();
33
+ this.ngControl.control.valueChanges.subscribe(() => {
34
+ this.setValue();
35
+ });
36
+ }
37
+ setValue() {
38
+ if (!this.ngControl?.control) {
39
+ return;
40
+ }
41
+ const dateTime = this.ngControl.control.value;
42
+ this.form.patchValue({
43
+ date: new Date(this.parseDateService.changeFormat(dateTime, 'YYYY-MM-DD') + 'T' + '00:00:00'),
44
+ time: this.parseDateService.changeFormat(dateTime, 'HH:mm')
45
+ }, { emitEvent: false });
46
+ }
47
+ dateChange(timeInput) {
48
+ if (!timeInput.value) {
49
+ timeInput.focus();
50
+ }
51
+ this.setDatTimeValue();
52
+ }
53
+ setDatTimeValue() {
54
+ if (this.form.value.date && this.form.value.time) {
55
+ const date = this.parseDateService.changeFormat(this.form.value.date, 'YYYY-MM-DD');
56
+ const time = this.form.value.time;
57
+ this.ngControl.control.patchValue(date + 'T' + time, { emitEvent: false });
58
+ }
59
+ else {
60
+ this.ngControl.control.patchValue(null, { emitEvent: false });
61
+ }
62
+ this.dateChangeEvent.emit();
63
+ }
64
+ onFocus() {
65
+ this.isFocused = true;
66
+ }
67
+ onBlur() {
68
+ this.isFocused = false;
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1.InputService }, { token: i2.ParseDateService }], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateTimePickerComponent, isStandalone: true, selector: "i-tech-date-time-picker", inputs: { label: "label", submit: "submit", required: "required" }, outputs: { dateChangeEvent: "dateChangeEvent" }, providers: [ParseDateService], ngImport: i0, template: "<div class=\"date_time_picker_container\"\n *ngIf=\"ngControl?.control\"\n [class.readonly_field]=\"ngControl.control.disabled\"\n>\n <mat-label>{{label | translate}}</mat-label>\n <span *ngIf=\"required\" class=\"required-input\"> *</span>\n\n <div class=\"date_time_picker\"\n [formGroup]=\"form\"\n [ngClass]=\"{'focused': isFocused}\"\n >\n <input type=\"text\" dateMask class=\"date\"\n placeholder=\"mm/dd/yy\"\n formControlName=\"date\"\n [matDatepicker]=\"DatePicker\"\n (click)=\"DatePicker.open()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (selectionchange)=\"dateChange(dateElement)\"\n >\n <mat-datepicker #DatePicker></mat-datepicker>\n <input type=\"time\"\n #dateElement\n class=\"time\"\n formControlName=\"time\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"setDatTimeValue()\"\n />\n </div>\n <!-- Error Messages -->\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\n {{ngControl.control | generateErrorMessages : (label || '')}}\n </mat-error>\n</div>\n", styles: [".date_time_picker_container .readonly_field{opacity:.4;pointer-events:none}.date_time_picker_container .date_time_picker{display:flex;outline:1px solid #D7D9DE;border-radius:4px;padding:8px;background-color:#fff;width:max-content}.date_time_picker_container .date_time_picker.focused{outline:3px solid #0060DF}.date_time_picker_container .date_time_picker input{padding:unset;border:unset;background-color:#fff;outline:unset;line-height:20px;font-weight:500;font-size:13px;letter-spacing:.2px}.date_time_picker_container .date_time_picker input.date{width:75px}.date_time_picker_container .date_time_picker input.time{width:63px}.date_time_picker_container .date_time_picker input[type=time]::-webkit-calendar-picker-indicator{display:none;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: DateMaskDirective, selector: "[dateMask]", inputs: ["maskType", "matDatepicker", "rangeFormControl"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "pipe", type: GenerateErrorMessagesPipe, name: "generateErrorMessages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }] }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'i-tech-date-time-picker', imports: [MatDatepickerModule, NgxMaskDirective, DateMaskDirective, TranslateModule,
76
+ FormsModule, NgClass, ReactiveFormsModule, MatLabel, GenerateErrorMessagesPipe, NgIf, MatError
77
+ ], standalone: true, providers: [ParseDateService], template: "<div class=\"date_time_picker_container\"\n *ngIf=\"ngControl?.control\"\n [class.readonly_field]=\"ngControl.control.disabled\"\n>\n <mat-label>{{label | translate}}</mat-label>\n <span *ngIf=\"required\" class=\"required-input\"> *</span>\n\n <div class=\"date_time_picker\"\n [formGroup]=\"form\"\n [ngClass]=\"{'focused': isFocused}\"\n >\n <input type=\"text\" dateMask class=\"date\"\n placeholder=\"mm/dd/yy\"\n formControlName=\"date\"\n [matDatepicker]=\"DatePicker\"\n (click)=\"DatePicker.open()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (selectionchange)=\"dateChange(dateElement)\"\n >\n <mat-datepicker #DatePicker></mat-datepicker>\n <input type=\"time\"\n #dateElement\n class=\"time\"\n formControlName=\"time\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"setDatTimeValue()\"\n />\n </div>\n <!-- Error Messages -->\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\n {{ngControl.control | generateErrorMessages : (label || '')}}\n </mat-error>\n</div>\n", styles: [".date_time_picker_container .readonly_field{opacity:.4;pointer-events:none}.date_time_picker_container .date_time_picker{display:flex;outline:1px solid #D7D9DE;border-radius:4px;padding:8px;background-color:#fff;width:max-content}.date_time_picker_container .date_time_picker.focused{outline:3px solid #0060DF}.date_time_picker_container .date_time_picker input{padding:unset;border:unset;background-color:#fff;outline:unset;line-height:20px;font-weight:500;font-size:13px;letter-spacing:.2px}.date_time_picker_container .date_time_picker input.date{width:75px}.date_time_picker_container .date_time_picker input.time{width:63px}.date_time_picker_container .date_time_picker input[type=time]::-webkit-calendar-picker-indicator{display:none;pointer-events:none}\n"] }]
78
+ }], ctorParameters: () => [{ type: i1.InputService }, { type: i2.ParseDateService }], propDecorators: { dateChangeEvent: [{
79
+ type: Output
80
+ }], label: [{
81
+ type: Input
82
+ }], submit: [{
83
+ type: Input
84
+ }], required: [{
85
+ type: Input
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFFTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBWXJGLE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFDWSxZQUEw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dkIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkN4Qi9CLGl3Q0FtQ0EsbXpCRGZZLG1CQUFtQiwrVEFBbUIsaUJBQWlCLGlIQUFFLGVBQWUsMkZBQ2hGLFdBQVcsbWpCQUFFLE9BQU8sbUZBQUUsbUJBQW1CLGdWQUFFLFFBQVEsaURBQUUseUJBQXlCLDhEQUFFLElBQUksNkZBQUUsUUFBUTs7NEZBT3JGLHVCQUF1QjtrQkFWbkMsU0FBUzsrQkFDRSx5QkFBeUIsV0FDMUIsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBQyxpQkFBaUIsRUFBRSxlQUFlO3dCQUNoRixXQUFXLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsUUFBUTtxQkFDL0YsY0FDVyxJQUFJLGFBQ0wsQ0FBQyxnQkFBZ0IsQ0FBQztnSEFLbkIsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQgeyBOZ3hNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIm5neC1tYXNrXCI7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbE5hbWUsXG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIFVudHlwZWRGb3JtR3JvdXBcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTWF0RXJyb3IsIE1hdExhYmVsIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBEYXRlTWFza0RpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2RhdGUtbWFzay5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFBhcnNlRGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvcGFyc2UtZGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJbnB1dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaW5wdXQuc2VydmljZVwiO1xuaW1wb3J0IHsgR2VuZXJhdGVFcnJvck1lc3NhZ2VzUGlwZSB9IGZyb20gXCIuLi8uLi9waXBlcy9nZW5lcmF0ZS1lcnJvci1tZXNzYWdlcy5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ktdGVjaC1kYXRlLXRpbWUtcGlja2VyJyxcbiAgaW1wb3J0czogW01hdERhdGVwaWNrZXJNb2R1bGUsIE5neE1hc2tEaXJlY3RpdmUsRGF0ZU1hc2tEaXJlY3RpdmUsIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSwgTmdDbGFzcywgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0TGFiZWwsIEdlbmVyYXRlRXJyb3JNZXNzYWdlc1BpcGUsIE5nSWYsIE1hdEVycm9yXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1BhcnNlRGF0ZVNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KCkgZGF0ZUNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgc3VibWl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuICBmb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIHRpbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICBkYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gIH0pXG4gIG5nQ29udHJvbDogRm9ybUNvbnRyb2xOYW1lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBpbnB1dFNlcnZpY2U6IElucHV0U2VydmljZSxcbiAgICAgIHByaXZhdGUgcGFyc2VEYXRlU2VydmljZTogUGFyc2VEYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLm5nQ29udHJvbCA9IHRoaXMuaW5wdXRTZXJ2aWNlLmluamVjdE5nQ29udHJvbCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWUoKTtcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRWYWx1ZSgpXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRlVGltZSA9IHRoaXMubmdDb250cm9sLmNvbnRyb2wudmFsdWU7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZGF0ZTogbmV3IERhdGUodGhpcy5wYXJzZURhdGVTZXJ2aWNlLmNoYW5nZUZvcm1hdChkYXRlVGltZSwnWVlZWS1NTS1ERCcpICsgJ1QnICsgJzAwOjAwOjAwJyksXG4gICAgICB0aW1lOiB0aGlzLnBhcnNlRGF0ZVNlcnZpY2UuY2hhbmdlRm9ybWF0KGRhdGVUaW1lLCdISDptbScpXG4gICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pXG4gIH1cblxuICBwdWJsaWMgZGF0ZUNoYW5nZSh0aW1lSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRpbWVJbnB1dC52YWx1ZSkge1xuICAgICAgdGltZUlucHV0LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0RGF0VGltZVZhbHVlKClcbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRUaW1lVmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWx1ZS5kYXRlICYmIHRoaXMuZm9ybS52YWx1ZS50aW1lKSB7XG4gICAgICBjb25zdCBkYXRlID0gdGhpcy5wYXJzZURhdGVTZXJ2aWNlLmNoYW5nZUZvcm1hdCh0aGlzLmZvcm0udmFsdWUuZGF0ZSAsICdZWVlZLU1NLUREJyk7XG4gICAgICBjb25zdCB0aW1lID0gdGhpcy5mb3JtLnZhbHVlLnRpbWU7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnBhdGNoVmFsdWUoZGF0ZSArICdUJyArIHRpbWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5wYXRjaFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRlQ2hhbmdlRXZlbnQuZW1pdCgpXG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlX3RpbWVfcGlja2VyX2NvbnRhaW5lclwiXG4gICAgICpuZ0lmPVwibmdDb250cm9sPy5jb250cm9sXCJcbiAgICAgW2NsYXNzLnJlYWRvbmx5X2ZpZWxkXT1cIm5nQ29udHJvbC5jb250cm9sLmRpc2FibGVkXCJcbj5cbiAgICA8bWF0LWxhYmVsPnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cInJlcXVpcmVkLWlucHV0XCI+ICo8L3NwYW4+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZV90aW1lX3BpY2tlclwiXG4gICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAgW25nQ2xhc3NdPVwieydmb2N1c2VkJzogaXNGb2N1c2VkfVwiXG4gICAgPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBkYXRlTWFzayBjbGFzcz1cImRhdGVcIlxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eVwiXG4gICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlXCJcbiAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cIkRhdGVQaWNrZXJcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIkRhdGVQaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgICAgKHNlbGVjdGlvbmNoYW5nZSk9XCJkYXRlQ2hhbmdlKGRhdGVFbGVtZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyICNEYXRlUGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGltZVwiXG4gICAgICAgICAgICAgICAjZGF0ZUVsZW1lbnRcbiAgICAgICAgICAgICAgIGNsYXNzPVwidGltZVwiXG4gICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aW1lXCJcbiAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXREYXRUaW1lVmFsdWUoKVwiXG4gICAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBFcnJvciBNZXNzYWdlcyAtLT5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiISEobmdDb250cm9sLmNvbnRyb2wuZXJyb3JzICYmIHN1Ym1pdClcIj5cbiAgICAgICAge3tuZ0NvbnRyb2wuY29udHJvbCB8IGdlbmVyYXRlRXJyb3JNZXNzYWdlcyA6IChsYWJlbCB8fCAnJyl9fVxuICAgIDwvbWF0LWVycm9yPlxuPC9kaXY+XG4iXX0=
@@ -2,7 +2,7 @@ import { Component, Input } from '@angular/core';
2
2
  import { LabelTypeEnum } from "../../interfaces/label-type.enum";
3
3
  import { MatChip } from "@angular/material/chips";
4
4
  import { MatTooltip } from "@angular/material/tooltip";
5
- import { NgClass } from "@angular/common";
5
+ import { NgClass, NgIf } from "@angular/common";
6
6
  import { TranslateModule } from "@ngx-translate/core";
7
7
  import { MatIcon } from "@angular/material/icon";
8
8
  import * as i0 from "@angular/core";
@@ -16,7 +16,7 @@ export class LabelComponent {
16
16
  this.matChipAction = false;
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, isStandalone: true, selector: "i-tech-label", inputs: { color: "color", text: "text", innerHtml: "innerHtml", bordered: "bordered", tooltip: "tooltip", size: "size", iconName: "iconName", iconSvg: "iconSvg", disableRipple: "disableRipple", matChipAction: "matChipAction" }, ngImport: i0, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n", dependencies: [{ kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, isStandalone: true, selector: "i-tech-label", inputs: { color: "color", text: "text", innerHtml: "innerHtml", bordered: "bordered", tooltip: "tooltip", size: "size", iconName: "iconName", iconSvg: "iconSvg", disableRipple: "disableRipple", matChipAction: "matChipAction" }, ngImport: i0, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n", dependencies: [{ kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, decorators: [{
22
22
  type: Component,
@@ -25,7 +25,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25
25
  MatTooltip,
26
26
  NgClass,
27
27
  TranslateModule,
28
- MatIcon
28
+ MatIcon,
29
+ NgIf
29
30
  ], standalone: true, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n" }]
30
31
  }], propDecorators: { color: [{
31
32
  type: Input
@@ -48,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
48
49
  }], matChipAction: [{
49
50
  type: Input
50
51
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBZWpELE1BQU0sT0FBTyxjQUFjO0lBYjNCO1FBY1csVUFBSyxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO1FBRzdDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsU0FBSSxHQUF5QixVQUFVLENBQUM7UUFHeEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7S0FDaEM7K0dBWFksY0FBYzttR0FBZCxjQUFjLDRTQ3JCM0Isc3dCQWVBLDRDREZJLE9BQU8sa1NBQ1AsVUFBVSxpUkFDVixPQUFPLG1GQUNQLGVBQWUsNEZBQ2YsT0FBTzs7NEZBSUUsY0FBYztrQkFiMUIsU0FBUzsrQkFDRSxjQUFjLFdBR2Y7d0JBQ1AsT0FBTzt3QkFDUCxVQUFVO3dCQUNWLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixPQUFPO3FCQUNSLGNBQ1csSUFBSTs4QkFHUCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhYmVsVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9sYWJlbC10eXBlLmVudW1cIjtcbmltcG9ydCB7IE1hdENoaXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaS10ZWNoLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIE1hdENoaXAsXG4gICAgTWF0VG9vbHRpcCxcbiAgICBOZ0NsYXNzLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRJY29uXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKSBjb2xvcjogTGFiZWxUeXBlRW51bSA9IExhYmVsVHlwZUVudW0ucHJpbWFyeTtcbiAgQElucHV0KCkgdGV4dCE6IHN0cmluZztcbiAgQElucHV0KCkgaW5uZXJIdG1sITogc3RyaW5nO1xuICBASW5wdXQoKSBib3JkZXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSB0b29sdGlwPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiAnc21hbGwnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XG4gIEBJbnB1dCgpIGljb25OYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uU3ZnPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1hdENoaXBBY3Rpb24gPSBmYWxzZTtcbn1cbiIsIjxkaXYgW2NsYXNzXT1cImljb25OYW1lIHx8IGljb25TdmcgPyAndHJhaWxpbmctaWNvbiBmbGV4JyA6ICdmbGV4J1wiPlxuICAgIDxtYXQtY2hpcFxuICAgICAgICAgICAgW2NsYXNzXT1cIidsYWJlbF8nICsgY29sb3JcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie2JvcmRlcmVkOiBib3JkZXJlZCwgc21hbGw6IHNpemUgPT09ICdzbWFsbCcsIG1hdENoaXBBY3Rpb246ICdwb2ludGVyJ31cIlxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiKHRvb2x0aXAgfHwgJycpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlUmlwcGxlXT1cImRpc2FibGVSaXBwbGVcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhfYWxpZ25fY2VudGVyIGZsZXhfZ2FwXCIgW25nQ2xhc3NdPVwibWF0Q2hpcEFjdGlvbiA/ICdwb2ludGVyJyA6ICcnXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpbm5lckh0bWxcIj57e3RleHQgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5uZXJIdG1sXCIgW2lubmVySHRtbF09XCJpbm5lckh0bWwgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uTmFtZVwiPnt7aWNvbk5hbWV9fTwvbWF0LWljb24+XG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3ZnXCIgW3N2Z0ljb25dPVwiaWNvblN2ZyFcIj48L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1jaGlwPlxuPC9kaXY+XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9sYWJlbC9sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQWdCakQsTUFBTSxPQUFPLGNBQWM7SUFkM0I7UUFlVyxVQUFLLEdBQWtCLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFHN0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixTQUFJLEdBQXlCLFVBQVUsQ0FBQztRQUd4QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLEtBQUssQ0FBQztLQUNoQzsrR0FYWSxjQUFjO21HQUFkLGNBQWMsNFNDdEIzQixzd0JBZUEsNENERkksT0FBTyxrU0FDUCxVQUFVLGlSQUNWLE9BQU8sbUZBQ1AsZUFBZSw0RkFDZixPQUFPLDJJQUNQLElBQUk7OzRGQUlLLGNBQWM7a0JBZDFCLFNBQVM7K0JBQ0UsY0FBYyxXQUdmO3dCQUNQLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxJQUFJO3FCQUNMLGNBQ1csSUFBSTs4QkFHUCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhYmVsVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9sYWJlbC10eXBlLmVudW1cIjtcbmltcG9ydCB7IE1hdENoaXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaS10ZWNoLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIE1hdENoaXAsXG4gICAgTWF0VG9vbHRpcCxcbiAgICBOZ0NsYXNzLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRJY29uLFxuICAgIE5nSWZcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbG9yOiBMYWJlbFR5cGVFbnVtID0gTGFiZWxUeXBlRW51bS5wcmltYXJ5O1xuICBASW5wdXQoKSB0ZXh0ITogc3RyaW5nO1xuICBASW5wdXQoKSBpbm5lckh0bWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvcmRlcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6ICdzbWFsbCcgfCAnc3RhbmRhcmQnID0gJ3N0YW5kYXJkJztcbiAgQElucHV0KCkgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25Tdmc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbWF0Q2hpcEFjdGlvbiA9IGZhbHNlO1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiaWNvbk5hbWUgfHwgaWNvblN2ZyA/ICd0cmFpbGluZy1pY29uIGZsZXgnIDogJ2ZsZXgnXCI+XG4gICAgPG1hdC1jaGlwXG4gICAgICAgICAgICBbY2xhc3NdPVwiJ2xhYmVsXycgKyBjb2xvclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7Ym9yZGVyZWQ6IGJvcmRlcmVkLCBzbWFsbDogc2l6ZSA9PT0gJ3NtYWxsJywgbWF0Q2hpcEFjdGlvbjogJ3BvaW50ZXInfVwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCIodG9vbHRpcCB8fCAnJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiZGlzYWJsZVJpcHBsZVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleF9hbGlnbl9jZW50ZXIgZmxleF9nYXBcIiBbbmdDbGFzc109XCJtYXRDaGlwQWN0aW9uID8gJ3BvaW50ZXInIDogJydcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlubmVySHRtbFwiPnt7dGV4dCB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbm5lckh0bWxcIiBbaW5uZXJIdG1sXT1cImlubmVySHRtbCB8IHRyYW5zbGF0ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25OYW1lXCI+e3tpY29uTmFtZX19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdmdcIiBbc3ZnSWNvbl09XCJpY29uU3ZnIVwiPjwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNoaXA+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1taW51dGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9pbnRlcmZhY2VzL2hvdXItbWludXRlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBIb3VyTWludXRlIHtcbiAgaG91cjogbnVtYmVyLFxuICBtaW51dGU6IG51bWJlclxufVxuIl19
@@ -0,0 +1,70 @@
1
+ import { Injectable } from '@angular/core';
2
+ import moment from 'moment';
3
+ import * as momentTimezone from 'moment-timezone';
4
+ import * as i0 from "@angular/core";
5
+ export class ParseDateService {
6
+ toLocaleTime(time, format = '', timezoneId) {
7
+ format = (format) ? format : 'MM/DD/yyyy hh:mm A';
8
+ const momentDate = momentTimezone.utc(time);
9
+ if (timezoneId) {
10
+ momentDate.tz(timezoneId);
11
+ }
12
+ return momentDate.format(format);
13
+ }
14
+ fromLocaleToUtc(time, format = '', timezoneId) {
15
+ format = (format) ? format : 'MM/DD/yyyy hh:mm A';
16
+ if (timezoneId) {
17
+ return momentTimezone.tz(moment(time).format(format), timezoneId).utc(false).format();
18
+ }
19
+ return '';
20
+ }
21
+ toDate(date) {
22
+ return moment(date).toDate();
23
+ }
24
+ toDateWithFormat(date, format) {
25
+ return moment(date, format).toDate();
26
+ }
27
+ getDayDifferentFromCurrentDay(date) {
28
+ return moment(date).diff(moment(), 'days');
29
+ }
30
+ changeFormat(time, format) {
31
+ return moment(time).format(format);
32
+ }
33
+ changeLocalFormat(time, format, timezone) {
34
+ return moment(time).tz(timezone).format(format);
35
+ }
36
+ addToDate(date, toAdd = {}, format, type = 'format') {
37
+ const momentDate = (date ? moment(date) : moment())
38
+ .add(toAdd.second || 0, 'second')
39
+ .add(toAdd.minute || 0, 'minute')
40
+ .add(toAdd.days || 0, 'days');
41
+ if (type === 'format') {
42
+ return momentDate.format(format || 'MM/DD/yyyy');
43
+ }
44
+ return momentDate.toDate();
45
+ }
46
+ getDateForWeekDay(day, forWeek = 0) {
47
+ return moment().add(forWeek, 'week').day(day).toDate();
48
+ }
49
+ getLocalDateForWeekDay(day, forWeek = 0, timezoneId) {
50
+ return moment().tz(timezoneId).add(forWeek, 'week').day(day).toDate();
51
+ }
52
+ containsDay(startDate, endDate, date) {
53
+ return moment(date).isBetween(startDate, endDate, 'days', '[]');
54
+ }
55
+ getDiff(startDate, endDate) {
56
+ return moment(startDate).diff(endDate);
57
+ }
58
+ transformHourMinuteToCorrectFormat(data, format = 'hh:mm A') {
59
+ const dateObj = JSON.parse(JSON.stringify(data));
60
+ const time = '2022-12-12T' + ((+dateObj.hour < 10 ? ('0' + (+dateObj.hour)) : dateObj.hour)
61
+ + ':' + (+dateObj.minute < 10 ? ('0' + (+dateObj.minute)) : dateObj.minute) + ':00');
62
+ return this.changeFormat(time, format);
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
65
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService, decorators: [{
68
+ type: Injectable
69
+ }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9wYXJzZS1kYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxLQUFLLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFZLENBQUMsSUFBUyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsVUFBeUI7UUFDNUQsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsVUFBeUI7UUFDL0QsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFDbEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMs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LE1BQU0sSUFBSSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2NBQ3JGLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUcsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQzsrR0F6RVUsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgKiBhcyBtb21lbnRUaW1lem9uZSBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgSG91ck1pbnV0ZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2hvdXItbWludXRlLmludGVyZmFjZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGFyc2VEYXRlU2VydmljZSB7XG5cbiAgdG9Mb2NhbGVUaW1lKHRpbWU6IGFueSwgZm9ybWF0ID0gJycsIHRpbWV6b25lSWQ6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGZvcm1hdCA9IChmb3JtYXQpID8gZm9ybWF0IDogJ01NL0REL3l5eXkgaGg6bW0gQSc7XG4gICAgY29uc3QgbW9tZW50RGF0ZSA9IG1vbWVudFRpbWV6b25lLnV0Yyh0aW1lKTtcbiAgICBpZiAodGltZXpvbmVJZCkge1xuICAgICAgbW9tZW50RGF0ZS50eih0aW1lem9uZUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudERhdGUuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICBmcm9tTG9jYWxlVG9VdGModGltZTogYW55LCBmb3JtYXQgPSAnJywgdGltZXpvbmVJZDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgZm9ybWF0ID0gKGZvcm1hdCkgPyBmb3JtYXQgOiAnTU0vREQveXl5eSBoaDptbSBBJztcbiAgICBpZiAodGltZXpvbmVJZCkge1xuICAgICAgcmV0dXJuIG1vbWVudFRpbWV6b25lLnR6KG1vbWVudCh0aW1lKS5mb3JtYXQoZm9ybWF0KSwgdGltZXpvbmVJZCkudXRjKGZhbHNlKS5mb3JtYXQoKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgdG9EYXRlKGRhdGU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IERhdGUge1xuICAgIHJldHVybiBtb21lbnQoZGF0ZSkudG9EYXRlKCk7XG4gIH1cblxuICB0b0RhdGVXaXRoRm9ybWF0KGRhdGU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBEYXRlIHtcbiAgICByZXR1cm4gbW9tZW50KGRhdGUsIGZvcm1hdCkudG9EYXRlKCk7XG4gIH1cblxuICBnZXREYXlEaWZmZXJlbnRGcm9tQ3VycmVudERheShkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KGRhdGUpLmRpZmYobW9tZW50KCksICdkYXlzJylcbiAgfVxuXG4gIGNoYW5nZUZvcm1hdCh0aW1lOiBhbnksIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbW9tZW50KHRpbWUpLmZvcm1hdChmb3JtYXQpO1xuICB9XG5cbiAgY2hhbmdlTG9jYWxGb3JtYXQodGltZTogYW55LCBmb3JtYXQ6IHN0cmluZywgdGltZXpvbmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG1vbWVudCh0aW1lKS50eih0aW1lem9uZSkuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICBhZGRUb0RhdGUoZGF0ZTogRGF0ZSB8IG51bGwsIHRvQWRkOiB7c2Vjb25kPzogbnVtYmVyICwgbWludXRlPzogbnVtYmVyLCBkYXlzPzogbnVtYmVyfSAgPSB7fSwgZm9ybWF0Pzogc3RyaW5nIHwgbnVsbCwgdHlwZTogJ2Zvcm1hdCcgfCAnZGF0ZScgPSAnZm9ybWF0JyApOiBzdHJpbmcgfCBEYXRlIHtcbiAgICBjb25zdCBtb21lbnREYXRlID0gKGRhdGUgPyBtb21lbnQoZGF0ZSkgOiBtb21lbnQoKSlcbiAgICAgIC5hZGQodG9BZGQuc2Vjb25kIHx8IDAsICdzZWNvbmQnKVxuICAgICAgLmFkZCh0b0FkZC5taW51dGUgfHwgMCwgJ21pbnV0ZScpXG4gICAgICAuYWRkKHRvQWRkLmRheXMgfHwgMCwgJ2RheXMnKTtcblxuICAgIGlmICh0eXBlID09PSAnZm9ybWF0Jykge1xuICAgICAgcmV0dXJuIG1vbWVudERhdGUuZm9ybWF0KGZvcm1hdCB8fCAnTU0vREQveXl5eScpO1xuICAgIH1cblxuICAgIHJldHVybiBtb21lbnREYXRlLnRvRGF0ZSgpO1xuICB9XG5cbiAgZ2V0RGF0ZUZvcldlZWtEYXkoZGF5OiBudW1iZXIsIGZvcldlZWsgPSAwKTogRGF0ZSB7XG4gICAgcmV0dXJuIG1vbWVudCgpLmFkZChmb3JXZWVrLCAnd2VlaycpLmRheShkYXkpLnRvRGF0ZSgpO1xuICB9XG5cbiAgZ2V0TG9jYWxEYXRlRm9yV2Vla0RheShkYXk6IG51bWJlciwgZm9yV2VlayA9IDAsIHRpbWV6b25lSWQ6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBtb21lbnQoKS50eih0aW1lem9uZUlkKS5hZGQoZm9yV2VlaywgJ3dlZWsnKS5kYXkoZGF5KS50b0RhdGUoKTtcbiAgfVxuXG4gIGNvbnRhaW5zRGF5KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIGRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBtb21lbnQoZGF0ZSkuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgJ2RheXMnLCAgJ1tdJyk7XG4gIH1cblxuICBnZXREaWZmKHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBtb21lbnQoc3RhcnREYXRlKS5kaWZmKGVuZERhdGUpO1xuICB9XG5cbiAgdHJhbnNmb3JtSG91ck1pbnV0ZVRvQ29ycmVjdEZvcm1hdChkYXRhOiBzdHJpbmcgfCBIb3VyTWludXRlLCBmb3JtYXQgPSAnaGg6bW0gQScpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGVPYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICBjb25zdCB0aW1lID0gJzIwMjItMTItMTJUJyArICgoK2RhdGVPYmouaG91ciA8IDEwID8gKCcwJyArICgrZGF0ZU9iai5ob3VyKSkgOiBkYXRlT2JqLmhvdXIpXG4gICAgICAgICsgJzonICsgKCtkYXRlT2JqLm1pbnV0ZSA8IDEwID8gKCcwJyArICgrZGF0ZU9iai5taW51dGUpKSA6IGRhdGVPYmoubWludXRlKSArICc6MDAnKTtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VGb3JtYXQodGltZSwgIGZvcm1hdCk7XG4gIH1cblxuXG59XG4iXX0=
@@ -5,6 +5,7 @@ export * from './lib/pipes/generate-error-messages.pipe';
5
5
  export * from './lib/pipes/array-to-string.pipe';
6
6
  export * from './lib/pipes/get-value-by-key-from-object.pipe';
7
7
  export * from './lib/services/input.service';
8
+ export * from './lib/services/parse-date.service';
8
9
  export * from './lib/interfaces/app-input.interface';
9
10
  export * from './lib/interfaces/button-types.enum';
10
11
  export * from './lib/interfaces/label-type.enum';
@@ -19,4 +20,5 @@ export * from './lib/components/clear-value/clear-value.component';
19
20
  export * from './lib/components/date-range-datepicker/date-range-datepicker.component';
20
21
  export * from './lib/components/menu/menu.component';
21
22
  export * from './lib/components/label/label.component';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZ2VuZXJhdGUtZXJyb3ItbWVzc2FnZXMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9hcnJheS10by1zdHJpbmcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9nZXQtdmFsdWUtYnkta2V5LWZyb20tb2JqZWN0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW5wdXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2FwcC1pbnB1dC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9idXR0b24tdHlwZXMuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2xhYmVsLXR5cGUuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2F1dG9jb21wbGV0ZS1jb25maWdzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2lucHV0LW1hc2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGV4dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlLXNlbGVjdC9hdXRvY29tcGxldGUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NsZWFyLXZhbHVlL2NsZWFyLXZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtZGF0ZXBpY2tlci9kYXRlLXJhbmdlLWRhdGVwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG4iXX0=
23
+ export * from './lib/components/date-time-picker/date-time-picker.component';
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhEQUE4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzaGFyZWQtY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2dlbmVyYXRlLWVycm9yLW1lc3NhZ2VzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvYXJyYXktdG8tc3RyaW5nLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZ2V0LXZhbHVlLWJ5LWtleS1mcm9tLW9iamVjdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2lucHV0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGFyc2UtZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXBwLWlucHV0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2J1dHRvbi10eXBlcy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvbGFiZWwtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXV0b2NvbXBsZXRlLWNvbmZpZ3MuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvaW5wdXQtbWFzay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZXh0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdXRvY29tcGxldGUtc2VsZWN0L2F1dG9jb21wbGV0ZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2xlYXItdmFsdWUvY2xlYXItdmFsdWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1kYXRlcGlja2VyL2RhdGUtcmFuZ2UtZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG4iXX0=
@@ -3,14 +3,16 @@ import { Pipe, inject, Injectable, Directive, Input, HostListener, EventEmitter,
3
3
  import * as i1 from '@ngx-translate/core';
4
4
  import { TranslateModule, TranslatePipe, TranslateService } from '@ngx-translate/core';
5
5
  import * as i3 from '@angular/forms';
6
- import { NgControl, FormControlName, ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';
6
+ import { NgControl, FormControlName, ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, Validators, FormsModule } from '@angular/forms';
7
+ import moment from 'moment';
8
+ import * as momentTimezone from 'moment-timezone';
7
9
  import { MatIconButton, MatFabButton, MatButton } from '@angular/material/button';
8
10
  import { NgClass, NgIf, NgOptimizedImage, NgFor, NgForOf } from '@angular/common';
9
11
  import { MatTooltip } from '@angular/material/tooltip';
10
12
  import * as i1$1 from '@angular/material/icon';
11
13
  import { MatIcon, MatIconModule } from '@angular/material/icon';
12
14
  import * as i4 from '@angular/material/form-field';
13
- import { MatFormFieldModule, MatLabel } from '@angular/material/form-field';
15
+ import { MatFormFieldModule, MatLabel, MatError } from '@angular/material/form-field';
14
16
  import { MatInput } from '@angular/material/input';
15
17
  import { NgxMaskDirective, NgxMaskPipe, NgxMaskService } from 'ngx-mask';
16
18
  import { MatProgressSpinner } from '@angular/material/progress-spinner';
@@ -138,6 +140,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
138
140
  }]
139
141
  }] });
140
142
 
143
+ class ParseDateService {
144
+ toLocaleTime(time, format = '', timezoneId) {
145
+ format = (format) ? format : 'MM/DD/yyyy hh:mm A';
146
+ const momentDate = momentTimezone.utc(time);
147
+ if (timezoneId) {
148
+ momentDate.tz(timezoneId);
149
+ }
150
+ return momentDate.format(format);
151
+ }
152
+ fromLocaleToUtc(time, format = '', timezoneId) {
153
+ format = (format) ? format : 'MM/DD/yyyy hh:mm A';
154
+ if (timezoneId) {
155
+ return momentTimezone.tz(moment(time).format(format), timezoneId).utc(false).format();
156
+ }
157
+ return '';
158
+ }
159
+ toDate(date) {
160
+ return moment(date).toDate();
161
+ }
162
+ toDateWithFormat(date, format) {
163
+ return moment(date, format).toDate();
164
+ }
165
+ getDayDifferentFromCurrentDay(date) {
166
+ return moment(date).diff(moment(), 'days');
167
+ }
168
+ changeFormat(time, format) {
169
+ return moment(time).format(format);
170
+ }
171
+ changeLocalFormat(time, format, timezone) {
172
+ return moment(time).tz(timezone).format(format);
173
+ }
174
+ addToDate(date, toAdd = {}, format, type = 'format') {
175
+ const momentDate = (date ? moment(date) : moment())
176
+ .add(toAdd.second || 0, 'second')
177
+ .add(toAdd.minute || 0, 'minute')
178
+ .add(toAdd.days || 0, 'days');
179
+ if (type === 'format') {
180
+ return momentDate.format(format || 'MM/DD/yyyy');
181
+ }
182
+ return momentDate.toDate();
183
+ }
184
+ getDateForWeekDay(day, forWeek = 0) {
185
+ return moment().add(forWeek, 'week').day(day).toDate();
186
+ }
187
+ getLocalDateForWeekDay(day, forWeek = 0, timezoneId) {
188
+ return moment().tz(timezoneId).add(forWeek, 'week').day(day).toDate();
189
+ }
190
+ containsDay(startDate, endDate, date) {
191
+ return moment(date).isBetween(startDate, endDate, 'days', '[]');
192
+ }
193
+ getDiff(startDate, endDate) {
194
+ return moment(startDate).diff(endDate);
195
+ }
196
+ transformHourMinuteToCorrectFormat(data, format = 'hh:mm A') {
197
+ const dateObj = JSON.parse(JSON.stringify(data));
198
+ const time = '2022-12-12T' + ((+dateObj.hour < 10 ? ('0' + (+dateObj.hour)) : dateObj.hour)
199
+ + ':' + (+dateObj.minute < 10 ? ('0' + (+dateObj.minute)) : dateObj.minute) + ':00');
200
+ return this.changeFormat(time, format);
201
+ }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
203
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService }); }
204
+ }
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParseDateService, decorators: [{
206
+ type: Injectable
207
+ }] });
208
+
141
209
  /**
142
210
  * Enum representing different types of buttons.
143
211
  */
@@ -1289,7 +1357,7 @@ class LabelComponent {
1289
1357
  this.matChipAction = false;
1290
1358
  }
1291
1359
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, isStandalone: true, selector: "i-tech-label", inputs: { color: "color", text: "text", innerHtml: "innerHtml", bordered: "bordered", tooltip: "tooltip", size: "size", iconName: "iconName", iconSvg: "iconSvg", disableRipple: "disableRipple", matChipAction: "matChipAction" }, ngImport: i0, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n", dependencies: [{ kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1360
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, isStandalone: true, selector: "i-tech-label", inputs: { color: "color", text: "text", innerHtml: "innerHtml", bordered: "bordered", tooltip: "tooltip", size: "size", iconName: "iconName", iconSvg: "iconSvg", disableRipple: "disableRipple", matChipAction: "matChipAction" }, ngImport: i0, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n", dependencies: [{ kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
1293
1361
  }
1294
1362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, decorators: [{
1295
1363
  type: Component,
@@ -1298,7 +1366,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1298
1366
  MatTooltip,
1299
1367
  NgClass,
1300
1368
  TranslateModule,
1301
- MatIcon
1369
+ MatIcon,
1370
+ NgIf
1302
1371
  ], standalone: true, template: "<div [class]=\"iconName || iconSvg ? 'trailing-icon flex' : 'flex'\">\n <mat-chip\n [class]=\"'label_' + color\"\n [ngClass]=\"{bordered: bordered, small: size === 'small', matChipAction: 'pointer'}\"\n [matTooltip]=\"(tooltip || '') | translate\"\n [disableRipple]=\"disableRipple\"\n >\n <div class=\"flex_align_center flex_gap\" [ngClass]=\"matChipAction ? 'pointer' : ''\">\n <span *ngIf=\"!innerHtml\">{{text | translate}}</span>\n <span *ngIf=\"innerHtml\" [innerHtml]=\"innerHtml | translate\"></span>\n <mat-icon *ngIf=\"iconName\">{{iconName}}</mat-icon>\n <mat-icon *ngIf=\"iconSvg\" [svgIcon]=\"iconSvg!\"></mat-icon>\n </div>\n </mat-chip>\n</div>\n" }]
1303
1372
  }], propDecorators: { color: [{
1304
1373
  type: Input
@@ -1322,6 +1391,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1322
1391
  type: Input
1323
1392
  }] } });
1324
1393
 
1394
+ class DateTimePickerComponent {
1395
+ constructor(inputService, parseDateService) {
1396
+ this.inputService = inputService;
1397
+ this.parseDateService = parseDateService;
1398
+ this.dateChangeEvent = new EventEmitter();
1399
+ this.submit = false;
1400
+ this.required = false;
1401
+ this.isFocused = false;
1402
+ this.form = new UntypedFormGroup({
1403
+ time: new UntypedFormControl(),
1404
+ date: new UntypedFormControl(),
1405
+ });
1406
+ this.ngControl = this.inputService.injectNgControl();
1407
+ }
1408
+ ngAfterViewInit() {
1409
+ this.setValue();
1410
+ this.ngControl.control.valueChanges.subscribe(() => {
1411
+ this.setValue();
1412
+ });
1413
+ }
1414
+ setValue() {
1415
+ if (!this.ngControl?.control) {
1416
+ return;
1417
+ }
1418
+ const dateTime = this.ngControl.control.value;
1419
+ this.form.patchValue({
1420
+ date: new Date(this.parseDateService.changeFormat(dateTime, 'YYYY-MM-DD') + 'T' + '00:00:00'),
1421
+ time: this.parseDateService.changeFormat(dateTime, 'HH:mm')
1422
+ }, { emitEvent: false });
1423
+ }
1424
+ dateChange(timeInput) {
1425
+ if (!timeInput.value) {
1426
+ timeInput.focus();
1427
+ }
1428
+ this.setDatTimeValue();
1429
+ }
1430
+ setDatTimeValue() {
1431
+ if (this.form.value.date && this.form.value.time) {
1432
+ const date = this.parseDateService.changeFormat(this.form.value.date, 'YYYY-MM-DD');
1433
+ const time = this.form.value.time;
1434
+ this.ngControl.control.patchValue(date + 'T' + time, { emitEvent: false });
1435
+ }
1436
+ else {
1437
+ this.ngControl.control.patchValue(null, { emitEvent: false });
1438
+ }
1439
+ this.dateChangeEvent.emit();
1440
+ }
1441
+ onFocus() {
1442
+ this.isFocused = true;
1443
+ }
1444
+ onBlur() {
1445
+ this.isFocused = false;
1446
+ }
1447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: InputService }, { token: ParseDateService }], target: i0.ɵɵFactoryTarget.Component }); }
1448
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateTimePickerComponent, isStandalone: true, selector: "i-tech-date-time-picker", inputs: { label: "label", submit: "submit", required: "required" }, outputs: { dateChangeEvent: "dateChangeEvent" }, providers: [ParseDateService], ngImport: i0, template: "<div class=\"date_time_picker_container\"\n *ngIf=\"ngControl?.control\"\n [class.readonly_field]=\"ngControl.control.disabled\"\n>\n <mat-label>{{label | translate}}</mat-label>\n <span *ngIf=\"required\" class=\"required-input\"> *</span>\n\n <div class=\"date_time_picker\"\n [formGroup]=\"form\"\n [ngClass]=\"{'focused': isFocused}\"\n >\n <input type=\"text\" dateMask class=\"date\"\n placeholder=\"mm/dd/yy\"\n formControlName=\"date\"\n [matDatepicker]=\"DatePicker\"\n (click)=\"DatePicker.open()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (selectionchange)=\"dateChange(dateElement)\"\n >\n <mat-datepicker #DatePicker></mat-datepicker>\n <input type=\"time\"\n #dateElement\n class=\"time\"\n formControlName=\"time\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"setDatTimeValue()\"\n />\n </div>\n <!-- Error Messages -->\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\n {{ngControl.control | generateErrorMessages : (label || '')}}\n </mat-error>\n</div>\n", styles: [".date_time_picker_container .readonly_field{opacity:.4;pointer-events:none}.date_time_picker_container .date_time_picker{display:flex;outline:1px solid #D7D9DE;border-radius:4px;padding:8px;background-color:#fff;width:max-content}.date_time_picker_container .date_time_picker.focused{outline:3px solid #0060DF}.date_time_picker_container .date_time_picker input{padding:unset;border:unset;background-color:#fff;outline:unset;line-height:20px;font-weight:500;font-size:13px;letter-spacing:.2px}.date_time_picker_container .date_time_picker input.date{width:75px}.date_time_picker_container .date_time_picker input.time{width:63px}.date_time_picker_container .date_time_picker input[type=time]::-webkit-calendar-picker-indicator{display:none;pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: DateMaskDirective, selector: "[dateMask]", inputs: ["maskType", "matDatepicker", "rangeFormControl"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "pipe", type: GenerateErrorMessagesPipe, name: "generateErrorMessages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }] }); }
1449
+ }
1450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, decorators: [{
1451
+ type: Component,
1452
+ args: [{ selector: 'i-tech-date-time-picker', imports: [MatDatepickerModule, NgxMaskDirective, DateMaskDirective, TranslateModule,
1453
+ FormsModule, NgClass, ReactiveFormsModule, MatLabel, GenerateErrorMessagesPipe, NgIf, MatError
1454
+ ], standalone: true, providers: [ParseDateService], template: "<div class=\"date_time_picker_container\"\n *ngIf=\"ngControl?.control\"\n [class.readonly_field]=\"ngControl.control.disabled\"\n>\n <mat-label>{{label | translate}}</mat-label>\n <span *ngIf=\"required\" class=\"required-input\"> *</span>\n\n <div class=\"date_time_picker\"\n [formGroup]=\"form\"\n [ngClass]=\"{'focused': isFocused}\"\n >\n <input type=\"text\" dateMask class=\"date\"\n placeholder=\"mm/dd/yy\"\n formControlName=\"date\"\n [matDatepicker]=\"DatePicker\"\n (click)=\"DatePicker.open()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (selectionchange)=\"dateChange(dateElement)\"\n >\n <mat-datepicker #DatePicker></mat-datepicker>\n <input type=\"time\"\n #dateElement\n class=\"time\"\n formControlName=\"time\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"setDatTimeValue()\"\n />\n </div>\n <!-- Error Messages -->\n <mat-error *ngIf=\"!!(ngControl.control.errors && submit)\">\n {{ngControl.control | generateErrorMessages : (label || '')}}\n </mat-error>\n</div>\n", styles: [".date_time_picker_container .readonly_field{opacity:.4;pointer-events:none}.date_time_picker_container .date_time_picker{display:flex;outline:1px solid #D7D9DE;border-radius:4px;padding:8px;background-color:#fff;width:max-content}.date_time_picker_container .date_time_picker.focused{outline:3px solid #0060DF}.date_time_picker_container .date_time_picker input{padding:unset;border:unset;background-color:#fff;outline:unset;line-height:20px;font-weight:500;font-size:13px;letter-spacing:.2px}.date_time_picker_container .date_time_picker input.date{width:75px}.date_time_picker_container .date_time_picker input.time{width:63px}.date_time_picker_container .date_time_picker input[type=time]::-webkit-calendar-picker-indicator{display:none;pointer-events:none}\n"] }]
1455
+ }], ctorParameters: () => [{ type: InputService }, { type: ParseDateService }], propDecorators: { dateChangeEvent: [{
1456
+ type: Output
1457
+ }], label: [{
1458
+ type: Input
1459
+ }], submit: [{
1460
+ type: Input
1461
+ }], required: [{
1462
+ type: Input
1463
+ }] } });
1464
+
1325
1465
  /*
1326
1466
  * Public API Surface of shared-components
1327
1467
  */
@@ -1330,5 +1470,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1330
1470
  * Generated bundle index. Do not edit.
1331
1471
  */
1332
1472
 
1333
- export { ArrayToStringPipe, AutocompleteSelectComponent, ButtonComponent, ButtonType, ClearValueComponent, DatePickerComponent, DateRangeDatepickerComponent, GenerateErrorMessagesPipe, GetValueByKeyFromObjectPipe, IconButtonComponent, InputMaskDirective, InputService, LabelComponent, LabelTypeEnum, MenuComponent, TextInputComponent };
1473
+ export { ArrayToStringPipe, AutocompleteSelectComponent, ButtonComponent, ButtonType, ClearValueComponent, DatePickerComponent, DateRangeDatepickerComponent, DateTimePickerComponent, GenerateErrorMessagesPipe, GetValueByKeyFromObjectPipe, IconButtonComponent, InputMaskDirective, InputService, LabelComponent, LabelTypeEnum, MenuComponent, ParseDateService, TextInputComponent };
1334
1474
  //# sourceMappingURL=i-tech-shared-components.mjs.map