Skip to content

Commit 7840cd3

Browse files
authored
fix(multiple): provide standalone-friendly APIs for date adapters (#28349)
Similarly to the core APIs, these changes add `provider*` functions for the various date adapters.
1 parent 38c8778 commit 7840cd3

File tree

37 files changed

+237
-224
lines changed

37 files changed

+237
-224
lines changed

src/components-examples/material/datepicker/date-range-picker-comparison/date-range-picker-comparison-example.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Component} from '@angular/core';
22
import {FormGroup, FormControl, FormsModule, ReactiveFormsModule} from '@angular/forms';
3-
import {MatNativeDateModule} from '@angular/material/core';
3+
import {provideNativeDateAdapter} from '@angular/material/core';
44
import {MatDatepickerModule} from '@angular/material/datepicker';
55
import {MatFormFieldModule} from '@angular/material/form-field';
66

@@ -14,13 +14,8 @@ const year = today.getFullYear();
1414
templateUrl: 'date-range-picker-comparison-example.html',
1515
styleUrls: ['date-range-picker-comparison-example.css'],
1616
standalone: true,
17-
imports: [
18-
MatFormFieldModule,
19-
MatDatepickerModule,
20-
MatNativeDateModule,
21-
FormsModule,
22-
ReactiveFormsModule,
23-
],
17+
providers: [provideNativeDateAdapter()],
18+
imports: [MatFormFieldModule, MatDatepickerModule, FormsModule, ReactiveFormsModule],
2419
})
2520
export class DateRangePickerComparisonExample {
2621
campaignOne = new FormGroup({

src/components-examples/material/datepicker/date-range-picker-forms/date-range-picker-forms-example.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,15 @@ import {FormGroup, FormControl, FormsModule, ReactiveFormsModule} from '@angular
33
import {JsonPipe} from '@angular/common';
44
import {MatDatepickerModule} from '@angular/material/datepicker';
55
import {MatFormFieldModule} from '@angular/material/form-field';
6-
import {MatNativeDateModule} from '@angular/material/core';
6+
import {provideNativeDateAdapter} from '@angular/material/core';
77

88
/** @title Date range picker forms integration */
99
@Component({
1010
selector: 'date-range-picker-forms-example',
1111
templateUrl: 'date-range-picker-forms-example.html',
1212
standalone: true,
13-
imports: [
14-
MatFormFieldModule,
15-
MatDatepickerModule,
16-
FormsModule,
17-
ReactiveFormsModule,
18-
JsonPipe,
19-
MatNativeDateModule,
20-
],
13+
providers: [provideNativeDateAdapter()],
14+
imports: [MatFormFieldModule, MatDatepickerModule, FormsModule, ReactiveFormsModule, JsonPipe],
2115
})
2216
export class DateRangePickerFormsExample {
2317
range = new FormGroup({
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component} from '@angular/core';
2-
import {MatNativeDateModule} from '@angular/material/core';
2+
import {provideNativeDateAdapter} from '@angular/material/core';
33
import {MatDatepickerModule} from '@angular/material/datepicker';
44
import {MatFormFieldModule} from '@angular/material/form-field';
55

@@ -8,6 +8,7 @@ import {MatFormFieldModule} from '@angular/material/form-field';
88
selector: 'date-range-picker-overview-example',
99
templateUrl: 'date-range-picker-overview-example.html',
1010
standalone: true,
11-
imports: [MatFormFieldModule, MatDatepickerModule, MatNativeDateModule],
11+
imports: [MatFormFieldModule, MatDatepickerModule],
12+
providers: [provideNativeDateAdapter()],
1213
})
1314
export class DateRangePickerOverviewExample {}

src/components-examples/material/datepicker/date-range-picker-selection-strategy/date-range-picker-selection-strategy-example.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component, Injectable} from '@angular/core';
2-
import {DateAdapter, MatNativeDateModule} from '@angular/material/core';
2+
import {DateAdapter, provideNativeDateAdapter} from '@angular/material/core';
33
import {
44
MatDateRangeSelectionStrategy,
55
DateRange,
@@ -40,8 +40,9 @@ export class FiveDayRangeSelectionStrategy<D> implements MatDateRangeSelectionSt
4040
provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
4141
useClass: FiveDayRangeSelectionStrategy,
4242
},
43+
provideNativeDateAdapter(),
4344
],
4445
standalone: true,
45-
imports: [MatFormFieldModule, MatDatepickerModule, MatNativeDateModule],
46+
imports: [MatFormFieldModule, MatDatepickerModule],
4647
})
4748
export class DateRangePickerSelectionStrategyExample {}

src/components-examples/material/datepicker/datepicker-actions/datepicker-actions-example.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,15 @@ import {MatButtonModule} from '@angular/material/button';
33
import {MatDatepickerModule} from '@angular/material/datepicker';
44
import {MatInputModule} from '@angular/material/input';
55
import {MatFormFieldModule} from '@angular/material/form-field';
6-
import {MatNativeDateModule} from '@angular/material/core';
6+
import {provideNativeDateAdapter} from '@angular/material/core';
77

88
/** @title Datepicker action buttons */
99
@Component({
1010
selector: 'datepicker-actions-example',
1111
templateUrl: 'datepicker-actions-example.html',
1212
styleUrls: ['datepicker-actions-example.css'],
1313
standalone: true,
14-
imports: [
15-
MatFormFieldModule,
16-
MatInputModule,
17-
MatDatepickerModule,
18-
MatNativeDateModule,
19-
MatButtonModule,
20-
],
14+
providers: [provideNativeDateAdapter()],
15+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule],
2116
})
2217
export class DatepickerActionsExample {}

src/components-examples/material/datepicker/datepicker-api/datepicker-api-example.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,15 @@ import {MatButtonModule} from '@angular/material/button';
33
import {MatDatepickerModule} from '@angular/material/datepicker';
44
import {MatInputModule} from '@angular/material/input';
55
import {MatFormFieldModule} from '@angular/material/form-field';
6-
import {MatNativeDateModule} from '@angular/material/core';
6+
import {provideNativeDateAdapter} from '@angular/material/core';
77

88
/** @title Datepicker open method */
99
@Component({
1010
selector: 'datepicker-api-example',
1111
templateUrl: 'datepicker-api-example.html',
1212
styleUrls: ['datepicker-api-example.css'],
1313
standalone: true,
14-
imports: [
15-
MatFormFieldModule,
16-
MatInputModule,
17-
MatNativeDateModule,
18-
MatDatepickerModule,
19-
MatButtonModule,
20-
],
14+
providers: [provideNativeDateAdapter()],
15+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatButtonModule],
2116
})
2217
export class DatepickerApiExample {}

src/components-examples/material/datepicker/datepicker-color/datepicker-color-example.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ import {Component} from '@angular/core';
22
import {MatDatepickerModule} from '@angular/material/datepicker';
33
import {MatInputModule} from '@angular/material/input';
44
import {MatFormFieldModule} from '@angular/material/form-field';
5-
import {MatNativeDateModule} from '@angular/material/core';
5+
import {provideNativeDateAdapter} from '@angular/material/core';
66

77
/** @title Datepicker palette colors */
88
@Component({
99
selector: 'datepicker-color-example',
1010
templateUrl: 'datepicker-color-example.html',
1111
styleUrls: ['datepicker-color-example.css'],
1212
standalone: true,
13-
imports: [MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule],
13+
providers: [provideNativeDateAdapter()],
14+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule],
1415
})
1516
export class DatepickerColorExample {}

src/components-examples/material/datepicker/datepicker-custom-header/datepicker-custom-header-example.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
DateAdapter,
1111
MAT_DATE_FORMATS,
1212
MatDateFormats,
13-
MatNativeDateModule,
13+
provideNativeDateAdapter,
1414
} from '@angular/material/core';
1515
import {Subject} from 'rxjs';
1616
import {takeUntil} from 'rxjs/operators';
@@ -25,7 +25,8 @@ import {MatFormFieldModule} from '@angular/material/form-field';
2525
templateUrl: 'datepicker-custom-header-example.html',
2626
changeDetection: ChangeDetectionStrategy.OnPush,
2727
standalone: true,
28-
imports: [MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule],
28+
providers: [provideNativeDateAdapter()],
29+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule],
2930
})
3031
export class DatepickerCustomHeaderExample {
3132
exampleHeader = ExampleHeader;

src/components-examples/material/datepicker/datepicker-custom-icon/datepicker-custom-icon-example.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,14 @@ import {MatIconModule} from '@angular/material/icon';
33
import {MatDatepickerModule} from '@angular/material/datepicker';
44
import {MatInputModule} from '@angular/material/input';
55
import {MatFormFieldModule} from '@angular/material/form-field';
6-
import {MatNativeDateModule} from '@angular/material/core';
6+
import {provideNativeDateAdapter} from '@angular/material/core';
77

88
/** @title Datepicker with custom icon */
99
@Component({
1010
selector: 'datepicker-custom-icon-example',
1111
templateUrl: 'datepicker-custom-icon-example.html',
1212
standalone: true,
13-
imports: [
14-
MatFormFieldModule,
15-
MatInputModule,
16-
MatDatepickerModule,
17-
MatNativeDateModule,
18-
MatIconModule,
19-
],
13+
providers: [provideNativeDateAdapter()],
14+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule, MatIconModule],
2015
})
2116
export class DatepickerCustomIconExample {}

src/components-examples/material/datepicker/datepicker-date-class/datepicker-date-class-example.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {Component, ViewEncapsulation} from '@angular/core';
22
import {MatCalendarCellClassFunction, MatDatepickerModule} from '@angular/material/datepicker';
33
import {MatInputModule} from '@angular/material/input';
44
import {MatFormFieldModule} from '@angular/material/form-field';
5-
import {MatNativeDateModule} from '@angular/material/core';
5+
import {provideNativeDateAdapter} from '@angular/material/core';
66

77
/** @title Datepicker with custom date classes */
88
@Component({
@@ -11,7 +11,8 @@ import {MatNativeDateModule} from '@angular/material/core';
1111
styleUrls: ['datepicker-date-class-example.css'],
1212
encapsulation: ViewEncapsulation.None,
1313
standalone: true,
14-
imports: [MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule],
14+
providers: [provideNativeDateAdapter()],
15+
imports: [MatFormFieldModule, MatInputModule, MatDatepickerModule],
1516
})
1617
export class DatepickerDateClassExample {
1718
dateClass: MatCalendarCellClassFunction<Date> = (cellDate, view) => {

0 commit comments

Comments
 (0)