@uiowa/date-range-picker
Version:
An Angular library for date range picker.
151 lines (146 loc) • 6.06 kB
TypeScript
import * as _ng_bootstrap_ng_bootstrap from '@ng-bootstrap/ng-bootstrap';
import { NgbDate, NgbDateNativeAdapter, NgbInputDatepicker } from '@ng-bootstrap/ng-bootstrap';
import * as _angular_core from '@angular/core';
import { AfterViewInit } from '@angular/core';
declare class DatePicker {
private readonly dateAdapter;
idFromInput: _angular_core.InputSignal<string>;
id: _angular_core.Signal<string>;
date: _angular_core.ModelSignal<Date | null>;
disabled: _angular_core.InputSignal<boolean>;
minDate: _angular_core.InputSignal<Date | undefined>;
ngbMinDate: _angular_core.Signal<_ng_bootstrap_ng_bootstrap.NgbDateStruct>;
maxDate: _angular_core.InputSignal<Date | undefined>;
ngbMaxDate: _angular_core.Signal<_ng_bootstrap_ng_bootstrap.NgbDateStruct>;
isInvalid: _angular_core.InputSignal<boolean>;
allowClear: _angular_core.InputSignal<boolean>;
ngbDate: _angular_core.WritableSignal<NgbDate | null>;
today: NgbDate;
constructor(dateAdapter: NgbDateNativeAdapter);
onDateChange(date: NgbDate): void;
isWeekend(date: NgbDate): boolean;
isDisabled: (date: NgbDate) => boolean;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePicker, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePicker, "date-picker", never, { "idFromInput": { "alias": "id"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "allowClear": { "alias": "allowClear"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; }, never, never, true, never>;
}
/**
* DateRange Type represents start date and end date.
*/
declare class DateRange {
start: Date | null;
end: Date | null;
/**
* Examples:
```typescript
const d1 = new DateRange();
const d2 = new DateRange(new Date(), new Date(2018, 9, 10));
```
* @param start [Optional] Start Date. Default: null.
* @param end [Optional] End Date. Default: null
*/
constructor(start?: Date | null, end?: Date | null);
/**
* Examples:
```typescript
const d1 = DateRange.nextDays(7);
// a date range of next week since today
```
* @param n Number of days after today.
*/
static nextDays(n: number): DateRange;
/**
* Examples:
```typescript
const d1 = DateRange.lastDays(7);
// a date range of a week before today
```
* @param n Number of days before today.
*/
static lastDays(n: number): DateRange;
/**
* Examples:
```typescript
const d1 = DateRange.nextTwoWeeks();
// a date range of next two weeks since today
```
*/
static nextTwoWeeks(): DateRange;
/**
* Examples:
```typescript
const d1 = DateRange.nextMonth();
// a date range of next month since today
```
*/
static nextMonth(): DateRange;
/**
* Examples:
```typescript
const d1 = DateRange.lastMonth();
// a date range of last month till today
```
*/
static lastMonth(): DateRange;
/**
* Examples:
```typescript
const d1 = DateRange.create({});
```
* @param start start date of range you're creating
* @param end end date of range you're creating
*/
static create(start: any, end: any): DateRange;
/**
* Examples:
```typescript
const a = new DateRange();
const isEqual = a.equals(new DateRange());
```
* @param dateRange another DateRange object
*/
equals(dateRange: DateRange): boolean;
toString(): string;
}
/**
*
* @param date1 a Date object or NULL
* @param date2 a Date object or NULL
*/
declare function dateEqual(date1: Date | null, date2: Date | null): boolean;
/**
* Examples:
```typescript
const isValid = DateRange.isValidDate(new Date());
```
* @param value date you want to verify as date
*/
declare function isValidDate(value: number | Date | string | null | undefined): boolean;
declare class DateRangePicker implements AfterViewInit {
private readonly dateAdapter;
idFromInput: _angular_core.InputSignal<string>;
id: _angular_core.Signal<string>;
dateRange: _angular_core.ModelSignal<DateRange>;
fromDate: _angular_core.WritableSignal<NgbDate | null>;
toDate: _angular_core.WritableSignal<NgbDate | null>;
minDate: _angular_core.InputSignal<Date | undefined>;
min: _angular_core.Signal<NgbDate | null>;
max: _angular_core.Signal<NgbDate | null>;
maxDate: _angular_core.InputSignal<Date | undefined>;
disabled: _angular_core.InputSignal<boolean>;
hoveredDate: NgbDate | null;
private dp;
constructor(dateAdapter: NgbDateNativeAdapter);
ngAfterViewInit(): void;
onDateChange(date: NgbDate, dp: NgbInputDatepicker): void;
formatInputText: _angular_core.Signal<string>;
isHovered(date: NgbDate): boolean;
isInside: (date: NgbDate) => boolean;
isFrom: (date: NgbDate) => boolean;
isTo: (date: NgbDate) => boolean;
isWeekend(date: NgbDate): boolean;
isDisabled: (date: NgbDate) => boolean;
isInFuture: (date: NgbDate) => boolean;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangePicker, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangePicker, "date-range-picker", never, { "idFromInput": { "alias": "id"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dateRange": "dateRangeChange"; }, never, never, true, never>;
}
export { DatePicker, DateRange, DateRangePicker, dateEqual, isValidDate };