@alexfriesen/ngx-mat-timepicker
Version:
ngx-mat-timepicker is an Angular material 17+ extension to add time pickers!
84 lines (83 loc) • 4.54 kB
TypeScript
import { OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ThemePalette } from '@angular/material/core';
import { FloatLabelType } from '@angular/material/form-field';
import { DateTime } from 'luxon';
import { NgxMatTimepickerLocaleService } from '../../services/ngx-mat-timepicker-locale.service';
import { NgxMatTimepickerFormatType } from '../../models/ngx-mat-timepicker-format.type';
import { NgxMatTimepickerService } from '../../services/ngx-mat-timepicker.service';
import { NgxMatTimepickerClockFace } from '../../models/ngx-mat-timepicker-clock-face.interface';
import { NgxMatTimepickerPeriods } from '../../models/ngx-mat-timepicker-periods.enum';
import { NgxMatTimepickerUnits } from '../../models/ngx-mat-timepicker-units.enum';
import * as i0 from "@angular/core";
export declare class NgxMatTimepickerFieldComponent implements OnInit, OnDestroy, ControlValueAccessor {
private _timepickerService;
private _timepickerLocaleSrv;
readonly color: import("@angular/core").InputSignal<ThemePalette>;
get defaultTime(): string;
set defaultTime(val: string);
readonly floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
get format(): NgxMatTimepickerFormatType;
set format(value: NgxMatTimepickerFormatType);
get max(): DateTime;
set max(value: string | DateTime);
get min(): DateTime;
set min(value: string | DateTime);
private get _locale();
cancelBtnTmpl: TemplateRef<Node>;
confirmBtnTmpl: TemplateRef<Node>;
controlOnly: boolean;
disabled: boolean;
readonly hour: import("@angular/core").WritableSignal<NgxMatTimepickerClockFace>;
readonly hour$: import("rxjs").Observable<NgxMatTimepickerClockFace>;
hoursList: NgxMatTimepickerClockFace[];
isChangePeriodDisabled: boolean;
isTimeRangeSet: boolean;
maxHour: number;
minHour: number;
readonly minute: import("@angular/core").WritableSignal<NgxMatTimepickerClockFace>;
readonly minute$: import("rxjs").Observable<NgxMatTimepickerClockFace>;
minutesList: NgxMatTimepickerClockFace[];
period: NgxMatTimepickerPeriods;
periods: NgxMatTimepickerPeriods[];
readonly timeChanged: import("@angular/core").OutputEmitterRef<string>;
timepickerTime: string;
timeUnit: typeof NgxMatTimepickerUnits;
toggleIcon: TemplateRef<HTMLObjectElement>;
private _defaultTime;
private _format;
private _isDefaultTime;
private _isFirstTimeChange;
private _max;
private _min;
private _previousFormat;
private _selectedHour;
private _subsCtrl$;
constructor(_timepickerService: NgxMatTimepickerService, _timepickerLocaleSrv: NgxMatTimepickerLocaleService);
changeHour(hour: number): void;
changeMinute(minute: number): void;
changePeriod(value: NgxMatTimepickerPeriods): void;
ngOnDestroy(): void;
ngOnInit(): void;
onTimeSet(time: string): void;
registerOnChange(fn: (time: string) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
writeValue(val: string): void;
private _changeDefaultTimeValue;
private _changeTime;
private _emitLocalTimeChange;
private _initTime;
private _isPeriodDisabled;
private _onChange;
private _onTouched;
private _resetTime;
private _updateAvailableHours;
private _updateAvailableMinutes;
private _updateAvailableTime;
private _updateTime;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatTimepickerFieldComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatTimepickerFieldComponent, "ngx-mat-timepicker-field", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "defaultTime": { "alias": "defaultTime"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "cancelBtnTmpl": { "alias": "cancelBtnTmpl"; "required": false; }; "confirmBtnTmpl": { "alias": "confirmBtnTmpl"; "required": false; }; "controlOnly": { "alias": "controlOnly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleIcon": { "alias": "toggleIcon"; "required": false; }; }, { "timeChanged": "timeChanged"; }, never, never, true, never>;
static ngAcceptInputType_controlOnly: unknown;
static ngAcceptInputType_disabled: unknown;
}