theme-lib
Version:
This is a simple example Angular Library published to npm.
65 lines (64 loc) • 2.85 kB
TypeScript
import { ElementRef, InjectionToken, OnDestroy } from '@angular/core';
import { ControlValueAccessor, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';
import { Type } from '@angular/core/src/type';
import { Observable } from 'rxjs';
import { NbDateService } from '../calendar-kit';
export declare abstract class NbDatepickerAdapter<D> {
abstract picker: Type<any>;
abstract parse(value: string, format: string): D;
abstract format(value: D, format: string): string;
abstract isValid(value: string, format: string): boolean;
}
export interface NbPickerValidatorConfig<D> {
min: D;
max: D;
filter: (D: any) => boolean;
}
export declare abstract class NbDatepicker<T> {
abstract format: string;
abstract value: T;
abstract readonly valueChange: Observable<T>;
abstract attach(hostRef: ElementRef): any;
abstract getValidatorConfig(): NbPickerValidatorConfig<T>;
abstract show(): any;
abstract hide(): any;
abstract shouldHide(): boolean;
abstract readonly isShown: boolean;
abstract readonly blur: Observable<void>;
}
export declare const NB_DATE_ADAPTER: InjectionToken<NbDatepickerAdapter<any>>;
export declare class NbDatepickerDirective<D> implements OnDestroy, ControlValueAccessor, Validator {
protected document: any;
protected datepickerAdapters: NbDatepickerAdapter<D>[];
protected hostRef: ElementRef;
protected dateService: NbDateService<D>;
setPicker: NbDatepicker<D>;
protected datepickerAdapter: NbDatepickerAdapter<D>;
protected picker: NbDatepicker<D>;
protected alive: boolean;
protected onChange: (D: any) => void;
protected onTouched: () => void;
protected validator: ValidatorFn;
constructor(document: any, datepickerAdapters: NbDatepickerAdapter<D>[], hostRef: ElementRef, dateService: NbDateService<D>);
readonly input: HTMLInputElement;
readonly inputValue: string;
ngOnDestroy(): void;
writeValue(value: D): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
validate(): ValidationErrors | null;
protected hidePicker(): void;
protected parseValidator(): ValidationErrors | null;
protected minValidator(): ValidationErrors | null;
protected maxValidator(): ValidationErrors | null;
protected filterValidator(): ValidationErrors | null;
protected chooseDatepickerAdapter(): void;
protected setupPicker(): void;
protected writePicker(value: D): void;
protected writeInput(value: D): void;
protected noDatepickerAdapterProvided(): boolean;
protected subscribeOnInputChange(): void;
protected handleInputChange(value: string): void;
protected parseInputValue(value: any): D | null;
}