@ng-bootstrap/ng-bootstrap
Version:
Angular powered Bootstrap
75 lines (74 loc) • 2.62 kB
TypeScript
import { NgbDate } from './ngb-date';
export declare function fromJSDate(jsDate: Date): NgbDate;
export declare function toJSDate(date: NgbDate): Date;
export declare type NgbPeriod = 'y' | 'm' | 'd';
export declare function NGB_DATEPICKER_CALENDAR_FACTORY(): NgbCalendarGregorian;
/**
* A service that represents the calendar used by the datepicker.
*
* The default implementation uses the Gregorian calendar. You can inject it in your own
* implementations if necessary to simplify `NgbDate` calculations.
*/
export declare abstract class NgbCalendar {
/**
* Returns the number of days per week.
*/
abstract getDaysPerWeek(): number;
/**
* Returns an array of months per year.
*
* With default calendar we use ISO 8601 and return [1, 2, ..., 12];
*/
abstract getMonths(year?: number): number[];
/**
* Returns the number of weeks per month.
*/
abstract getWeeksPerMonth(): number;
/**
* Returns the weekday number for a given day.
*
* With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun
*/
abstract getWeekday(date: NgbDate): number;
/**
* Adds a number of years, months or days to a given date.
*
* * `period` can be `y`, `m` or `d` and defaults to day.
* * `number` defaults to 1.
*
* Always returns a new date.
*/
abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;
/**
* Subtracts a number of years, months or days from a given date.
*
* * `period` can be `y`, `m` or `d` and defaults to day.
* * `number` defaults to 1.
*
* Always returns a new date.
*/
abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;
/**
* Returns the week number for a given week.
*/
abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;
/**
* Returns the today's date.
*/
abstract getToday(): NgbDate;
/**
* Checks if a date is valid in the current calendar.
*/
abstract isValid(date?: NgbDate | null): boolean;
}
export declare class NgbCalendarGregorian extends NgbCalendar {
getDaysPerWeek(): number;
getMonths(): number[];
getWeeksPerMonth(): number;
getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;
getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;
getWeekday(date: NgbDate): number;
getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;
getToday(): NgbDate;
isValid(date?: NgbDate | null): boolean;
}