theme-lib
Version:
This is a simple example Angular Library published to npm.
76 lines (75 loc) • 3.67 kB
TypeScript
import { ComponentFactoryResolver, ComponentRef, OnChanges, ElementRef, EventEmitter, OnDestroy, Type } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { NbAdjustableConnectedPositionStrategy, NbOverlayRef, NbOverlayService, NbPositionBuilderService, NbTriggerStrategy } from '../cdk';
import { NbDatepickerContainerComponent } from './datepicker-container.component';
import { NbCalendarRange, NbCalendarRangeComponent } from '../calendar/calendar-range.component';
import { NbCalendarComponent } from '../calendar/calendar.component';
import { NbCalendarCell, NbCalendarSize, NbCalendarViewMode, NbDateService } from '../calendar-kit';
import { NbDatepicker, NbPickerValidatorConfig } from './datepicker.directive';
export declare abstract class NbBasePicker<D, T, P> extends NbDatepicker<T> implements OnChanges, OnDestroy {
protected document: any;
protected positionBuilder: NbPositionBuilderService;
protected overlay: NbOverlayService;
protected cfr: ComponentFactoryResolver;
protected dateService: NbDateService<D>;
format: string;
boundingMonth: boolean;
startView: NbCalendarViewMode;
min: T;
max: T;
filter: (T: any) => boolean;
dayCellComponent: Type<NbCalendarCell<D, T>>;
monthCellComponent: Type<NbCalendarCell<D, T>>;
yearCellComponent: Type<NbCalendarCell<D, T>>;
size: NbCalendarSize;
visibleDate: D;
hideOnSelect: boolean;
protected abstract pickerClass: Type<P>;
protected ref: NbOverlayRef;
protected container: ComponentRef<NbDatepickerContainerComponent>;
protected positionStrategy: NbAdjustableConnectedPositionStrategy;
protected hostRef: ElementRef;
protected onChange$: Subject<T>;
protected pickerRef: ComponentRef<any>;
protected alive: boolean;
protected queue: T;
protected blur$: Subject<void>;
constructor(document: any, positionBuilder: NbPositionBuilderService, overlay: NbOverlayService, cfr: ComponentFactoryResolver, dateService: NbDateService<D>);
readonly picker: any;
readonly valueChange: Observable<T>;
readonly isShown: boolean;
readonly blur: Observable<void>;
protected abstract readonly pickerValueChange: Observable<T>;
ngOnChanges(): void;
ngOnDestroy(): void;
attach(hostRef: ElementRef): void;
getValidatorConfig(): NbPickerValidatorConfig<T>;
show(): void;
shouldHide(): boolean;
hide(): void;
protected abstract writeQueue(): any;
protected createPositionStrategy(): NbAdjustableConnectedPositionStrategy;
protected subscribeOnPositionChange(): void;
protected createTriggerStrategy(): NbTriggerStrategy;
protected subscribeOnTriggers(): void;
protected instantiatePicker(): void;
protected subscribeOnValueChange(): void;
protected patchWithInputs(): void;
}
export declare class NbDatepickerComponent<D> extends NbBasePicker<D, D, NbCalendarComponent<D>> {
protected pickerClass: Type<NbCalendarComponent<D>>;
date: D;
readonly dateChange: EventEmitter<D>;
value: D;
protected readonly pickerValueChange: Observable<D>;
protected writeQueue(): void;
}
export declare class NbRangepickerComponent<D> extends NbBasePicker<D, NbCalendarRange<D>, NbCalendarRangeComponent<D>> {
protected pickerClass: Type<NbCalendarRangeComponent<D>>;
range: NbCalendarRange<D>;
readonly rangeChange: EventEmitter<NbCalendarRange<D>>;
value: NbCalendarRange<D>;
protected readonly pickerValueChange: Observable<NbCalendarRange<D>>;
shouldHide(): boolean;
protected writeQueue(): void;
}