diff --git a/goldens/material/datepicker/index.api.md b/goldens/material/datepicker/index.api.md index 8f109cabded8..f7d1db2fb8ff 100644 --- a/goldens/material/datepicker/index.api.md +++ b/goldens/material/datepicker/index.api.md @@ -109,7 +109,7 @@ export class MatCalendar implements AfterContentInit, AfterViewChecked, OnDes get currentView(): MatCalendarView; set currentView(value: MatCalendarView); dateClass: MatCalendarCellClassFunction; - dateFilter: (date: D) => boolean; + dateFilter?: ((date: D) => boolean) | null; _dateSelected(event: MatCalendarUserEvent): void; _dragEnded(event: MatCalendarUserEvent | null>): void; _dragStarted(event: MatCalendarUserEvent): void; @@ -373,7 +373,7 @@ export class MatDatepickerContent> implem // @public export interface MatDatepickerControl { // (undocumented) - dateFilter: DateFilterFn; + dateFilter: DateFilterFn | null | undefined; // (undocumented) disabled: boolean; // (undocumented) @@ -398,12 +398,12 @@ export class MatDatepickerInput extends MatDatepickerInputBase i protected _ariaOwns: i0.WritableSignal; // (undocumented) protected _assignValueToModel(value: D | null): void; - get dateFilter(): DateFilterFn; - set dateFilter(value: DateFilterFn); + get dateFilter(): DateFilterFn | null | undefined; + set dateFilter(value: DateFilterFn | null | undefined); // (undocumented) _datepicker: MatDatepickerPanel, D | null, D>; getConnectedOverlayOrigin(): ElementRef; - protected _getDateFilter(): DateFilterFn; + protected _getDateFilter(): DateFilterFn | null | undefined; _getMaxDate(): D | null; _getMinDate(): D | null; getOverlayLabelId(): string | null; @@ -534,8 +534,8 @@ export class MatDateRangeInput implements MatFormFieldControl>, comparisonEnd: D | null; comparisonStart: D | null; controlType: string; - get dateFilter(): DateFilterFn; - set dateFilter(value: DateFilterFn); + get dateFilter(): DateFilterFn | null | undefined; + set dateFilter(value: DateFilterFn | null | undefined); get describedByIds(): string[]; readonly disableAutomaticLabeling = true; get disabled(): boolean; @@ -673,7 +673,7 @@ export class MatMonthView implements AfterContentInit, OnChanges, OnDestroy { // (undocumented) _dateAdapter: DateAdapter; dateClass: MatCalendarCellClassFunction; - dateFilter: (date: D) => boolean; + dateFilter: ((date: D) => boolean) | null | undefined; _dateSelected(event: MatCalendarUserEvent): void; readonly dragEnded: EventEmitter | null>>; protected _dragEnded(event: MatCalendarUserEvent): void; @@ -731,7 +731,7 @@ export class MatMultiYearView implements AfterContentInit, OnDestroy { // (undocumented) _dateAdapter: DateAdapter; dateClass: MatCalendarCellClassFunction; - dateFilter: (date: D) => boolean; + dateFilter: ((date: D) => boolean) | null | undefined; _focusActiveCell(): void; _focusActiveCellAfterViewChecked(): void; // (undocumented) @@ -820,7 +820,7 @@ export class MatYearView implements AfterContentInit, OnDestroy { // (undocumented) _dateAdapter: DateAdapter; dateClass: MatCalendarCellClassFunction; - dateFilter: (date: D) => boolean; + dateFilter: ((date: D) => boolean) | null | undefined; _focusActiveCell(): void; _focusActiveCellAfterViewChecked(): void; _handleCalendarBodyKeydown(event: KeyboardEvent): void; diff --git a/src/material/datepicker/calendar.ts b/src/material/datepicker/calendar.ts index 9f54fb28a703..436070604eae 100644 --- a/src/material/datepicker/calendar.ts +++ b/src/material/datepicker/calendar.ts @@ -327,7 +327,7 @@ export class MatCalendar implements AfterContentInit, AfterViewChecked, OnDes private _maxDate: D | null; /** Function used to filter which dates are selectable. */ - @Input() dateFilter: (date: D) => boolean; + @Input() dateFilter?: ((date: D) => boolean) | null; /** Function that can be used to add custom CSS classes to dates. */ @Input() dateClass: MatCalendarCellClassFunction; diff --git a/src/material/datepicker/date-range-input.ts b/src/material/datepicker/date-range-input.ts index 0d507fd3c24a..86992cb617c4 100644 --- a/src/material/datepicker/date-range-input.ts +++ b/src/material/datepicker/date-range-input.ts @@ -154,7 +154,7 @@ export class MatDateRangeInput get dateFilter() { return this._dateFilter; } - set dateFilter(value: DateFilterFn) { + set dateFilter(value: DateFilterFn | null | undefined) { const start = this._startInput; const end = this._endInput; const wasMatchingStart = start && start._matchesFilter(start.value); @@ -169,7 +169,7 @@ export class MatDateRangeInput end._validatorOnChange(); } } - private _dateFilter: DateFilterFn; + private _dateFilter?: DateFilterFn | null; /** The minimum valid date. */ @Input() diff --git a/src/material/datepicker/datepicker-base.ts b/src/material/datepicker/datepicker-base.ts index e8cef6970bfc..657923acc31e 100644 --- a/src/material/datepicker/datepicker-base.ts +++ b/src/material/datepicker/datepicker-base.ts @@ -325,7 +325,7 @@ export interface MatDatepickerControl { min: D | null; max: D | null; disabled: boolean; - dateFilter: DateFilterFn; + dateFilter: DateFilterFn | null | undefined; getConnectedOverlayOrigin(): ElementRef; getOverlayLabelId(): string | null; stateChanges: Observable; @@ -524,7 +524,7 @@ export abstract class MatDatepickerBase< return this.datepickerInput && this.datepickerInput.max; } - _getDateFilter(): DateFilterFn { + _getDateFilter(): DateFilterFn | null | undefined { return this.datepickerInput && this.datepickerInput.dateFilter; } diff --git a/src/material/datepicker/datepicker-input-base.ts b/src/material/datepicker/datepicker-input-base.ts index 632cec9d45a4..01de0feb77b5 100644 --- a/src/material/datepicker/datepicker-input-base.ts +++ b/src/material/datepicker/datepicker-input-base.ts @@ -203,7 +203,7 @@ export abstract class MatDatepickerInputBase | undefined; + protected abstract _getDateFilter(): DateFilterFn | null | undefined; /** Registers a date selection model with the input. */ _registerModel(model: MatDateSelectionModel): void { diff --git a/src/material/datepicker/datepicker-input.ts b/src/material/datepicker/datepicker-input.ts index d555a1b5812e..dea01bd24252 100644 --- a/src/material/datepicker/datepicker-input.ts +++ b/src/material/datepicker/datepicker-input.ts @@ -119,7 +119,7 @@ export class MatDatepickerInput get dateFilter() { return this._dateFilter; } - set dateFilter(value: DateFilterFn) { + set dateFilter(value: DateFilterFn | null | undefined) { const wasMatchingValue = this._matchesFilter(this.value); this._dateFilter = value; @@ -127,7 +127,7 @@ export class MatDatepickerInput this._validatorOnChange(); } } - private _dateFilter: DateFilterFn; + private _dateFilter: DateFilterFn | null | undefined; /** The combined form control validator for this input. */ protected _validator: ValidatorFn | null; diff --git a/src/material/datepicker/month-view.ts b/src/material/datepicker/month-view.ts index ff8a43696121..6631c3b3360b 100644 --- a/src/material/datepicker/month-view.ts +++ b/src/material/datepicker/month-view.ts @@ -141,7 +141,7 @@ export class MatMonthView implements AfterContentInit, OnChanges, OnDestroy { private _maxDate: D | null; /** Function used to filter which dates are selectable. */ - @Input() dateFilter: (date: D) => boolean; + @Input() dateFilter: ((date: D) => boolean) | null | undefined; /** Function that can be used to add custom CSS classes to dates. */ @Input() dateClass: MatCalendarCellClassFunction; diff --git a/src/material/datepicker/multi-year-view.ts b/src/material/datepicker/multi-year-view.ts index dc832f9e4f5e..6fd4c88b89a3 100644 --- a/src/material/datepicker/multi-year-view.ts +++ b/src/material/datepicker/multi-year-view.ts @@ -133,7 +133,7 @@ export class MatMultiYearView implements AfterContentInit, OnDestroy { private _maxDate: D | null; /** A function used to filter which dates are selectable. */ - @Input() dateFilter: (date: D) => boolean; + @Input() dateFilter: ((date: D) => boolean) | null | undefined; /** Function that can be used to add custom CSS classes to date cells. */ @Input() dateClass: MatCalendarCellClassFunction; diff --git a/src/material/datepicker/year-view.ts b/src/material/datepicker/year-view.ts index 97af5be58020..89482b0b67b7 100644 --- a/src/material/datepicker/year-view.ts +++ b/src/material/datepicker/year-view.ts @@ -122,7 +122,7 @@ export class MatYearView implements AfterContentInit, OnDestroy { private _maxDate: D | null; /** A function used to filter which dates are selectable. */ - @Input() dateFilter: (date: D) => boolean; + @Input() dateFilter: ((date: D) => boolean) | null | undefined; /** Function that can be used to add custom CSS classes to date cells. */ @Input() dateClass: MatCalendarCellClassFunction;