UNPKG

@cahdev-angular-material-components/datetime-picker

Version:
133 lines (132 loc) 5.6 kB
import { FactoryProvider, OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { NgxMatDateAdapter } from './core/date-adapter'; import * as i0 from "@angular/core"; /** A class representing a range of dates. */ export declare class NgxDateRange<D> { /** The start date of the range. */ readonly start: D | null; /** The end date of the range. */ readonly end: D | null; /** * Ensures that objects with a `start` and `end` property can't be assigned to a variable that * expects a `DateRange` */ private _disableStructuralEquivalency; constructor( /** The start date of the range. */ start: D | null, /** The end date of the range. */ end: D | null); } /** * Conditionally picks the date type, if a DateRange is passed in. * @docs-private */ export type NgxExtractDateTypeFromSelection<T> = T extends NgxDateRange<infer D> ? D : NonNullable<T>; /** * Event emitted by the date selection model when its selection changes. * @docs-private */ export interface NgxDateSelectionModelChange<S> { /** New value for the selection. */ selection: S; /** Object that triggered the change. */ source: unknown; /** Previous value */ oldValue?: S; } /** * A selection model containing a date selection. * @docs-private */ export declare abstract class NgxMatDateSelectionModel<S, D = NgxExtractDateTypeFromSelection<S>> implements OnDestroy { /** The current selection. */ readonly selection: S; protected _adapter: NgxMatDateAdapter<D>; private readonly _selectionChanged; /** Emits when the selection has changed. */ selectionChanged: Observable<NgxDateSelectionModelChange<S>>; protected constructor( /** The current selection. */ selection: S, _adapter: NgxMatDateAdapter<D>); /** * Updates the current selection in the model. * @param value New selection that should be assigned. * @param source Object that triggered the selection change. */ updateSelection(value: S, source: unknown): void; ngOnDestroy(): void; protected _isValidDateInstance(date: D): boolean; /** Adds a date to the current selection. */ abstract add(date: D | null): void; /** Checks whether the current selection is valid. */ abstract isValid(): boolean; /** Checks whether the current selection is complete. */ abstract isComplete(): boolean; /** Clones the selection model. */ abstract clone(): NgxMatDateSelectionModel<S, D>; static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatDateSelectionModel<any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgxMatDateSelectionModel<any, any>>; } /** * A selection model that contains a single date. * @docs-private */ export declare class NgxMatSingleDateSelectionModel<D> extends NgxMatDateSelectionModel<D | null, D> { constructor(adapter: NgxMatDateAdapter<D>); /** * Adds a date to the current selection. In the case of a single date selection, the added date * simply overwrites the previous selection */ add(date: D | null): void; /** Checks whether the current selection is valid. */ isValid(): boolean; /** * Checks whether the current selection is complete. In the case of a single date selection, this * is true if the current selection is not null. */ isComplete(): boolean; /** Clones the selection model. */ clone(): NgxMatSingleDateSelectionModel<D>; static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatSingleDateSelectionModel<any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgxMatSingleDateSelectionModel<any>>; } /** * A selection model that contains a date range. * @docs-private */ export declare class NgxMatRangeDateSelectionModel<D> extends NgxMatDateSelectionModel<NgxDateRange<D>, D> { constructor(adapter: NgxMatDateAdapter<D>); /** * Adds a date to the current selection. In the case of a date range selection, the added date * fills in the next `null` value in the range. If both the start and the end already have a date, * the selection is reset so that the given date is the new `start` and the `end` is null. */ add(date: D | null): void; /** Checks whether the current selection is valid. */ isValid(): boolean; /** * Checks whether the current selection is complete. In the case of a date range selection, this * is true if the current selection has a non-null `start` and `end`. */ isComplete(): boolean; /** Clones the selection model. */ clone(): NgxMatRangeDateSelectionModel<D>; static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatRangeDateSelectionModel<any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgxMatRangeDateSelectionModel<any>>; } /** @docs-private */ export declare function NGX_MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent: NgxMatSingleDateSelectionModel<unknown>, adapter: NgxMatDateAdapter<unknown>): NgxMatSingleDateSelectionModel<unknown>; /** * Used to provide a single selection model to a component. * @docs-private */ export declare const NGX_MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider; /** @docs-private */ export declare function NGX_MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent: NgxMatSingleDateSelectionModel<unknown>, adapter: NgxMatDateAdapter<unknown>): NgxMatSingleDateSelectionModel<unknown> | NgxMatRangeDateSelectionModel<unknown>; /** * Used to provide a range selection model to a component. * @docs-private */ export declare const NGX_MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER: FactoryProvider;