@ng-matero/extensions
Version:
Angular Material Extensions
147 lines (137 loc) • 6.41 kB
TypeScript
import * as i0 from '@angular/core';
import { InjectionToken, Provider, PipeTransform, TemplateRef } from '@angular/core';
import * as i1 from '@angular/material/core';
import { DateAdapter } from '@angular/material/core';
import * as i1$1 from '@angular/common';
import { Observable } from 'rxjs';
interface MtxDatetimeFormats {
parse: {
dateInput?: any;
monthInput?: any;
yearInput?: any;
timeInput?: any;
datetimeInput?: any;
};
display: {
dateInput: any;
monthInput: any;
yearInput?: any;
timeInput: any;
datetimeInput: any;
monthYearLabel: any;
dateA11yLabel: any;
monthYearA11yLabel: any;
popupHeaderDateLabel: any;
};
}
declare const MTX_DATETIME_FORMATS: InjectionToken<MtxDatetimeFormats>;
declare class NativeDatetimeModule {
static ɵfac: i0.ɵɵFactoryDeclaration<NativeDatetimeModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<NativeDatetimeModule, never, [typeof i1.NativeDateModule], never>;
static ɵinj: i0.ɵɵInjectorDeclaration<NativeDatetimeModule>;
}
declare function provideNativeDatetimeAdapter(formats?: MtxDatetimeFormats): Provider[];
declare class MtxNativeDatetimeModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MtxNativeDatetimeModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MtxNativeDatetimeModule, never, never, never>;
static ɵinj: i0.ɵɵInjectorDeclaration<MtxNativeDatetimeModule>;
}
declare abstract class DatetimeAdapter<D> extends DateAdapter<D> {
protected _delegate: DateAdapter<D, any>;
abstract getHour(date: D): number;
abstract getMinute(date: D): number;
abstract getFirstDateOfMonth(date: D): D;
abstract getWeek(date: D, firstDayOfWeek: number): number;
abstract isInNextMonth(startDate: D, endDate: D): boolean;
abstract getHourNames(): string[];
abstract getMinuteNames(): string[];
abstract addCalendarHours(date: D, months: number): D;
abstract addCalendarMinutes(date: D, minutes: number): D;
abstract createDatetime(year: number, month: number, date: number, hour: number, minute: number): D;
getValidDateOrNull(obj: any): D | null;
compareDatetime(first: D, second: D, respectMinutePart?: boolean): number | boolean;
sameDatetime(first: D | null, second: D | null): boolean;
sameYear(first: D, second: D): boolean;
sameDay(first: D, second: D): boolean;
sameHour(first: D, second: D): boolean;
sameMinute(first: D, second: D): boolean;
sameMonthAndYear(first: D | null, second: D | null): boolean;
clone(date: D): D;
addCalendarYears(date: D, years: number): D;
addCalendarMonths(date: D, months: number): D;
addCalendarDays(date: D, days: number): D;
getYear(date: D): number;
getMonth(date: D): number;
getDate(date: D): number;
getDayOfWeek(date: D): number;
getMonthNames(style: any): string[];
getDateNames(): string[];
getDayOfWeekNames(style: any): string[];
getYearName(date: D): string;
getFirstDayOfWeek(): number;
getNumDaysInMonth(date: D): number;
createDate(year: number, month: number, date: number): D;
today(): D;
parse(value: any, parseFormat: any): D | null;
format(date: D, displayFormat: any): string;
toIso8601(date: D): string;
isDateInstance(obj: any): boolean;
isValid(date: D): boolean;
invalid(): D;
clampDate(date: D, min?: D | null, max?: D | null): D;
}
declare class NativeDatetimeAdapter extends DatetimeAdapter<Date> {
constructor();
clone(date: Date): Date;
getHour(date: Date): number;
getMinute(date: Date): number;
isInNextMonth(startDate: Date, endDate: Date): boolean;
getWeek(date: Date, firstDayOfWeek: number): number;
createDatetime(year: number, month: number, date: number, hour: number, minute: number): Date;
getFirstDateOfMonth(date: Date): Date;
getHourNames(): string[];
getMinuteNames(): string[];
addCalendarYears(date: Date, years: number): Date;
addCalendarMonths(date: Date, months: number): Date;
addCalendarDays(date: Date, days: number): Date;
addCalendarHours(date: Date, hours: number): Date;
addCalendarMinutes(date: Date, minutes: number): Date;
toIso8601(date: Date): string;
private getDateInNextMonth;
/**
* Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
* other browsers do not. We remove them to make output consistent and because they interfere with
* date parsing.
* @param str The string to strip direction characters from.
* @returns The stripped string.
*/
private _stripDirectionalityCharacters;
/**
* Pads a number to make it two digits.
* @param n The number to pad.
* @returns The padded number.
*/
private _2digit;
/** Creates a date but allows the month and date to overflow. */
private _createDateWithOverflow;
static ɵfac: i0.ɵɵFactoryDeclaration<NativeDatetimeAdapter, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NativeDatetimeAdapter>;
}
declare const MTX_NATIVE_DATETIME_FORMATS: MtxDatetimeFormats;
declare class MtxToObservablePipe implements PipeTransform {
transform(value: Observable<any> | unknown): Observable<any>;
static ɵfac: i0.ɵɵFactoryDeclaration<MtxToObservablePipe, never>;
static ɵpipe: i0.ɵɵPipeDeclaration<MtxToObservablePipe, "toObservable", true>;
}
declare class MtxIsTemplateRefPipe implements PipeTransform {
transform(obj: any): obj is TemplateRef<any>;
static ɵfac: i0.ɵɵFactoryDeclaration<MtxIsTemplateRefPipe, never>;
static ɵpipe: i0.ɵɵPipeDeclaration<MtxIsTemplateRefPipe, "isTemplateRef", true>;
}
declare class MtxPipesModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MtxPipesModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MtxPipesModule, never, [typeof i1$1.CommonModule, typeof MtxToObservablePipe, typeof MtxIsTemplateRefPipe], [typeof MtxToObservablePipe, typeof MtxIsTemplateRefPipe]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MtxPipesModule>;
}
export { DatetimeAdapter, MTX_DATETIME_FORMATS, MTX_NATIVE_DATETIME_FORMATS, MtxIsTemplateRefPipe, MtxNativeDatetimeModule, MtxPipesModule, MtxToObservablePipe, NativeDatetimeAdapter, NativeDatetimeModule, provideNativeDatetimeAdapter };
export type { MtxDatetimeFormats };