{"version":3,"file":"lite-datetime-picker.mjs","sources":["../../../projects/lite-datetime-picker/src/lib/lite-datetime-picker.component.ts","../../../projects/lite-datetime-picker/src/lib/lite-datetime-picker.component.html","../../../projects/lite-datetime-picker/src/lib/lite-datetime-picker.module.ts","../../../projects/lite-datetime-picker/src/public-api.ts","../../../projects/lite-datetime-picker/src/lite-datetime-picker.ts"],"sourcesContent":["import { Component, Input, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n    selector: 'lft-lite-datetime-picker',\r\n    templateUrl: './lite-datetime-picker.component.html',\r\n    styleUrls: ['./lite-datetime-picker.component.scss'],\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            useExisting: forwardRef(() => LiteDatetimePickerComponent),\r\n            multi: true\r\n        }\r\n    ]\r\n})\r\nexport class LiteDatetimePickerComponent implements ControlValueAccessor {\r\n    isDisabled = false;\r\n    @Input() max: Date | null = null;\r\n    @Input() min: Date | null = null;\r\n    @Input() placeholder = 'Date';\r\n    @Input() step: number | null = null;\r\n    @Input() required = false;\r\n\r\n    onChange: any = () => { };\r\n    onTouched: any = () => { };\r\n\r\n    @Input('value') private _value: Date | null = null;\r\n    private get value(): Date | null { return this._value; }\r\n    private set value(val) {\r\n        this._value = val ? new Date(val) : null;\r\n        this.onChange(this._value);\r\n        this.onTouched();\r\n    }\r\n\r\n    get datePart(): Date | null {\r\n        return this.value;\r\n    }\r\n    set datePart(val) {\r\n        const value = new Date(this.value || new Date().toDateString());\r\n\r\n        if (!!val && this.isValidDate(val)) {\r\n            value.setDate(val.getDate());\r\n            value.setMonth(val.getMonth());\r\n            value.setFullYear(val.getFullYear());\r\n\r\n            this.value = value;\r\n        } else {\r\n            this.value = null;\r\n        }\r\n    }\r\n\r\n    get timePart(): string | null {\r\n        return this.value\r\n            ? this.value.toTimeString().substr(0, 5)\r\n            : null;\r\n    }\r\n    set timePart(val) {\r\n        const value = new Date(this.value || new Date());\r\n\r\n        if (!!val && val.includes(':')) {\r\n            const subParts = val.split(':');\r\n\r\n            value.setHours(Number(subParts[0]));\r\n            value.setMinutes(Number(subParts[1]));\r\n        } else {\r\n            value.setHours(0);\r\n            value.setMinutes(0);\r\n        }\r\n\r\n        this.value = value;\r\n    }\r\n\r\n\r\n    private isValidDate(d: any): boolean {\r\n        return d instanceof Date\r\n            && !isNaN(d.getTime());\r\n    }\r\n\r\n    registerOnChange(fn: Function): void {\r\n        this.onChange = fn;\r\n    }\r\n\r\n    registerOnTouched(fn: Function): void {\r\n        this.onTouched = fn;\r\n    }\r\n\r\n    setDisabledState(isDisabled: boolean): void {\r\n        this.isDisabled = isDisabled;\r\n    }\r\n\r\n    writeValue(value: Date): void {\r\n        if (value) {\r\n            this.value = value;\r\n        }\r\n    }\r\n}\r\n","<div class=\"row\">\r\n    <div class=\"col\">\r\n        <mat-form-field>\r\n            <mat-label>{{placeholder}}</mat-label>\r\n            <input matInput\r\n                [(ngModel)]=\"datePart\"\r\n                (blur)=\"onTouched()\"\r\n                [disabled]=\"isDisabled\"\r\n                [matDatepicker]=\"datePicker\"\r\n                [max]=\"max\"\r\n                [min]=\"min\"\r\n                [placeholder]=\"placeholder\"\r\n                [required]=\"required\">\r\n            <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\r\n            <mat-datepicker #datePicker></mat-datepicker>\r\n        </mat-form-field>\r\n    </div>\r\n    <div class=\"col\">\r\n        <mat-form-field>\r\n            <input type=\"time\" matInput\r\n                (blur)=\"onTouched()\"\r\n                [(ngModel)]=\"timePart\"\r\n                [disabled]=\"isDisabled || !datePart\"\r\n                [step]=\"step\">\r\n        </mat-form-field>\r\n    </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { LiteDatetimePickerComponent } from './lite-datetime-picker.component';\r\n\r\n@NgModule({\r\n  declarations: [LiteDatetimePickerComponent],\r\n  imports: [\r\n    CommonModule,\r\n    FormsModule,\r\n    MatDatepickerModule,\r\n    MatFormFieldModule,\r\n    MatInputModule\r\n  ],\r\n  exports: [LiteDatetimePickerComponent]\r\n})\r\nexport class LiteDatetimePickerModule { }\r\n","/*\r\n * Public API Surface of lite-datetime-picker\r\n */\r\n\r\nexport * from './lib/lite-datetime-picker.component';\r\nexport * from './lib/lite-datetime-picker.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}