@angular/material 21.2.5 → 21.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_error-options-chunk.mjs +6 -6
- package/fesm2022/_form-field-chunk.mjs +30 -30
- package/fesm2022/_icon-button-chunk.mjs +6 -6
- package/fesm2022/_icon-registry-chunk.mjs +3 -3
- package/fesm2022/_internal-form-field-chunk.mjs +3 -3
- package/fesm2022/_line-chunk.mjs +7 -7
- package/fesm2022/_option-chunk.mjs +6 -6
- package/fesm2022/_option-module-chunk.mjs +4 -4
- package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
- package/fesm2022/_ripple-chunk.mjs +6 -6
- package/fesm2022/_ripple-loader-chunk.mjs +3 -3
- package/fesm2022/_ripple-module-chunk.mjs +4 -4
- package/fesm2022/_structural-styles-chunk.mjs +3 -3
- package/fesm2022/_tooltip-chunk.mjs +6 -6
- package/fesm2022/autocomplete.mjs +13 -13
- package/fesm2022/badge.mjs +10 -10
- package/fesm2022/bottom-sheet.mjs +10 -10
- package/fesm2022/button-toggle.mjs +10 -10
- package/fesm2022/button.mjs +13 -13
- package/fesm2022/card.mjs +46 -46
- package/fesm2022/checkbox.mjs +7 -7
- package/fesm2022/chips.mjs +48 -48
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +12 -12
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +82 -82
- package/fesm2022/dialog.mjs +25 -25
- package/fesm2022/divider.mjs +7 -7
- package/fesm2022/expansion.mjs +25 -25
- package/fesm2022/form-field.mjs +4 -4
- package/fesm2022/grid-list.mjs +22 -22
- package/fesm2022/icon-testing.mjs +7 -7
- package/fesm2022/icon.mjs +7 -7
- package/fesm2022/input.mjs +7 -7
- package/fesm2022/list.mjs +49 -49
- package/fesm2022/menu.mjs +22 -22
- package/fesm2022/paginator.mjs +10 -10
- package/fesm2022/progress-bar.mjs +7 -7
- package/fesm2022/progress-spinner.mjs +7 -7
- package/fesm2022/radio.mjs +11 -11
- package/fesm2022/select.mjs +12 -12
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +22 -22
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +8 -8
- package/fesm2022/slider.mjs +16 -16
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +22 -22
- package/fesm2022/sort.mjs +13 -13
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper.mjs +31 -31
- package/fesm2022/table.mjs +55 -55
- package/fesm2022/tabs.mjs +43 -43
- package/fesm2022/timepicker.mjs +13 -13
- package/fesm2022/toolbar.mjs +10 -10
- package/fesm2022/tooltip.mjs +4 -4
- package/fesm2022/tree.mjs +25 -25
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/types/chips.d.ts +2 -2
- package/types/sort.d.ts +4 -0
package/fesm2022/snack-bar.mjs
CHANGED
|
@@ -98,7 +98,7 @@ class MatSnackBarConfig {
|
|
|
98
98
|
class MatSnackBarLabel {
|
|
99
99
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
100
100
|
minVersion: "12.0.0",
|
|
101
|
-
version: "22.0.0-next.
|
|
101
|
+
version: "22.0.0-next.6",
|
|
102
102
|
ngImport: i0,
|
|
103
103
|
type: MatSnackBarLabel,
|
|
104
104
|
deps: [],
|
|
@@ -106,7 +106,7 @@ class MatSnackBarLabel {
|
|
|
106
106
|
});
|
|
107
107
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
108
108
|
minVersion: "14.0.0",
|
|
109
|
-
version: "22.0.0-next.
|
|
109
|
+
version: "22.0.0-next.6",
|
|
110
110
|
type: MatSnackBarLabel,
|
|
111
111
|
isStandalone: true,
|
|
112
112
|
selector: "[matSnackBarLabel]",
|
|
@@ -118,7 +118,7 @@ class MatSnackBarLabel {
|
|
|
118
118
|
}
|
|
119
119
|
i0.ɵɵngDeclareClassMetadata({
|
|
120
120
|
minVersion: "12.0.0",
|
|
121
|
-
version: "22.0.0-next.
|
|
121
|
+
version: "22.0.0-next.6",
|
|
122
122
|
ngImport: i0,
|
|
123
123
|
type: MatSnackBarLabel,
|
|
124
124
|
decorators: [{
|
|
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
134
134
|
class MatSnackBarActions {
|
|
135
135
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
136
136
|
minVersion: "12.0.0",
|
|
137
|
-
version: "22.0.0-next.
|
|
137
|
+
version: "22.0.0-next.6",
|
|
138
138
|
ngImport: i0,
|
|
139
139
|
type: MatSnackBarActions,
|
|
140
140
|
deps: [],
|
|
@@ -142,7 +142,7 @@ class MatSnackBarActions {
|
|
|
142
142
|
});
|
|
143
143
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
144
144
|
minVersion: "14.0.0",
|
|
145
|
-
version: "22.0.0-next.
|
|
145
|
+
version: "22.0.0-next.6",
|
|
146
146
|
type: MatSnackBarActions,
|
|
147
147
|
isStandalone: true,
|
|
148
148
|
selector: "[matSnackBarActions]",
|
|
@@ -154,7 +154,7 @@ class MatSnackBarActions {
|
|
|
154
154
|
}
|
|
155
155
|
i0.ɵɵngDeclareClassMetadata({
|
|
156
156
|
minVersion: "12.0.0",
|
|
157
|
-
version: "22.0.0-next.
|
|
157
|
+
version: "22.0.0-next.6",
|
|
158
158
|
ngImport: i0,
|
|
159
159
|
type: MatSnackBarActions,
|
|
160
160
|
decorators: [{
|
|
@@ -170,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
170
170
|
class MatSnackBarAction {
|
|
171
171
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
172
172
|
minVersion: "12.0.0",
|
|
173
|
-
version: "22.0.0-next.
|
|
173
|
+
version: "22.0.0-next.6",
|
|
174
174
|
ngImport: i0,
|
|
175
175
|
type: MatSnackBarAction,
|
|
176
176
|
deps: [],
|
|
@@ -178,7 +178,7 @@ class MatSnackBarAction {
|
|
|
178
178
|
});
|
|
179
179
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
180
180
|
minVersion: "14.0.0",
|
|
181
|
-
version: "22.0.0-next.
|
|
181
|
+
version: "22.0.0-next.6",
|
|
182
182
|
type: MatSnackBarAction,
|
|
183
183
|
isStandalone: true,
|
|
184
184
|
selector: "[matSnackBarAction]",
|
|
@@ -190,7 +190,7 @@ class MatSnackBarAction {
|
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({
|
|
192
192
|
minVersion: "12.0.0",
|
|
193
|
-
version: "22.0.0-next.
|
|
193
|
+
version: "22.0.0-next.6",
|
|
194
194
|
ngImport: i0,
|
|
195
195
|
type: MatSnackBarAction,
|
|
196
196
|
decorators: [{
|
|
@@ -216,7 +216,7 @@ class SimpleSnackBar {
|
|
|
216
216
|
}
|
|
217
217
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
218
218
|
minVersion: "12.0.0",
|
|
219
|
-
version: "22.0.0-next.
|
|
219
|
+
version: "22.0.0-next.6",
|
|
220
220
|
ngImport: i0,
|
|
221
221
|
type: SimpleSnackBar,
|
|
222
222
|
deps: [],
|
|
@@ -224,7 +224,7 @@ class SimpleSnackBar {
|
|
|
224
224
|
});
|
|
225
225
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
226
226
|
minVersion: "17.0.0",
|
|
227
|
-
version: "22.0.0-next.
|
|
227
|
+
version: "22.0.0-next.6",
|
|
228
228
|
type: SimpleSnackBar,
|
|
229
229
|
isStandalone: true,
|
|
230
230
|
selector: "simple-snack-bar",
|
|
@@ -260,7 +260,7 @@ class SimpleSnackBar {
|
|
|
260
260
|
}
|
|
261
261
|
i0.ɵɵngDeclareClassMetadata({
|
|
262
262
|
minVersion: "12.0.0",
|
|
263
|
-
version: "22.0.0-next.
|
|
263
|
+
version: "22.0.0-next.6",
|
|
264
264
|
ngImport: i0,
|
|
265
265
|
type: SimpleSnackBar,
|
|
266
266
|
decorators: [{
|
|
@@ -486,7 +486,7 @@ class MatSnackBarContainer extends BasePortalOutlet {
|
|
|
486
486
|
}
|
|
487
487
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
488
488
|
minVersion: "12.0.0",
|
|
489
|
-
version: "22.0.0-next.
|
|
489
|
+
version: "22.0.0-next.6",
|
|
490
490
|
ngImport: i0,
|
|
491
491
|
type: MatSnackBarContainer,
|
|
492
492
|
deps: [],
|
|
@@ -494,7 +494,7 @@ class MatSnackBarContainer extends BasePortalOutlet {
|
|
|
494
494
|
});
|
|
495
495
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
496
496
|
minVersion: "14.0.0",
|
|
497
|
-
version: "22.0.0-next.
|
|
497
|
+
version: "22.0.0-next.6",
|
|
498
498
|
type: MatSnackBarContainer,
|
|
499
499
|
isStandalone: true,
|
|
500
500
|
selector: "mat-snack-bar-container",
|
|
@@ -541,7 +541,7 @@ class MatSnackBarContainer extends BasePortalOutlet {
|
|
|
541
541
|
}
|
|
542
542
|
i0.ɵɵngDeclareClassMetadata({
|
|
543
543
|
minVersion: "12.0.0",
|
|
544
|
-
version: "22.0.0-next.
|
|
544
|
+
version: "22.0.0-next.6",
|
|
545
545
|
ngImport: i0,
|
|
546
546
|
type: MatSnackBarContainer,
|
|
547
547
|
decorators: [{
|
|
@@ -746,7 +746,7 @@ class MatSnackBar {
|
|
|
746
746
|
}
|
|
747
747
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
748
748
|
minVersion: "12.0.0",
|
|
749
|
-
version: "22.0.0-next.
|
|
749
|
+
version: "22.0.0-next.6",
|
|
750
750
|
ngImport: i0,
|
|
751
751
|
type: MatSnackBar,
|
|
752
752
|
deps: [],
|
|
@@ -754,7 +754,7 @@ class MatSnackBar {
|
|
|
754
754
|
});
|
|
755
755
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
756
756
|
minVersion: "12.0.0",
|
|
757
|
-
version: "22.0.0-next.
|
|
757
|
+
version: "22.0.0-next.6",
|
|
758
758
|
ngImport: i0,
|
|
759
759
|
type: MatSnackBar,
|
|
760
760
|
providedIn: 'root'
|
|
@@ -762,7 +762,7 @@ class MatSnackBar {
|
|
|
762
762
|
}
|
|
763
763
|
i0.ɵɵngDeclareClassMetadata({
|
|
764
764
|
minVersion: "12.0.0",
|
|
765
|
-
version: "22.0.0-next.
|
|
765
|
+
version: "22.0.0-next.6",
|
|
766
766
|
ngImport: i0,
|
|
767
767
|
type: MatSnackBar,
|
|
768
768
|
decorators: [{
|
|
@@ -778,7 +778,7 @@ const DIRECTIVES = [MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions,
|
|
|
778
778
|
class MatSnackBarModule {
|
|
779
779
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
780
780
|
minVersion: "12.0.0",
|
|
781
|
-
version: "22.0.0-next.
|
|
781
|
+
version: "22.0.0-next.6",
|
|
782
782
|
ngImport: i0,
|
|
783
783
|
type: MatSnackBarModule,
|
|
784
784
|
deps: [],
|
|
@@ -786,7 +786,7 @@ class MatSnackBarModule {
|
|
|
786
786
|
});
|
|
787
787
|
static ɵmod = i0.ɵɵngDeclareNgModule({
|
|
788
788
|
minVersion: "14.0.0",
|
|
789
|
-
version: "22.0.0-next.
|
|
789
|
+
version: "22.0.0-next.6",
|
|
790
790
|
ngImport: i0,
|
|
791
791
|
type: MatSnackBarModule,
|
|
792
792
|
imports: [OverlayModule, PortalModule, MatButtonModule, SimpleSnackBar, MatSnackBarContainer, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction],
|
|
@@ -794,7 +794,7 @@ class MatSnackBarModule {
|
|
|
794
794
|
});
|
|
795
795
|
static ɵinj = i0.ɵɵngDeclareInjector({
|
|
796
796
|
minVersion: "12.0.0",
|
|
797
|
-
version: "22.0.0-next.
|
|
797
|
+
version: "22.0.0-next.6",
|
|
798
798
|
ngImport: i0,
|
|
799
799
|
type: MatSnackBarModule,
|
|
800
800
|
providers: [MatSnackBar],
|
|
@@ -803,7 +803,7 @@ class MatSnackBarModule {
|
|
|
803
803
|
}
|
|
804
804
|
i0.ɵɵngDeclareClassMetadata({
|
|
805
805
|
minVersion: "12.0.0",
|
|
806
|
-
version: "22.0.0-next.
|
|
806
|
+
version: "22.0.0-next.6",
|
|
807
807
|
ngImport: i0,
|
|
808
808
|
type: MatSnackBarModule,
|
|
809
809
|
decorators: [{
|
package/fesm2022/sort.mjs
CHANGED
|
@@ -98,7 +98,7 @@ class MatSort {
|
|
|
98
98
|
}
|
|
99
99
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
100
100
|
minVersion: "12.0.0",
|
|
101
|
-
version: "22.0.0-next.
|
|
101
|
+
version: "22.0.0-next.6",
|
|
102
102
|
ngImport: i0,
|
|
103
103
|
type: MatSort,
|
|
104
104
|
deps: [{
|
|
@@ -109,7 +109,7 @@ class MatSort {
|
|
|
109
109
|
});
|
|
110
110
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
111
111
|
minVersion: "16.1.0",
|
|
112
|
-
version: "22.0.0-next.
|
|
112
|
+
version: "22.0.0-next.6",
|
|
113
113
|
type: MatSort,
|
|
114
114
|
isStandalone: true,
|
|
115
115
|
selector: "[matSort]",
|
|
@@ -133,7 +133,7 @@ class MatSort {
|
|
|
133
133
|
}
|
|
134
134
|
i0.ɵɵngDeclareClassMetadata({
|
|
135
135
|
minVersion: "12.0.0",
|
|
136
|
-
version: "22.0.0-next.
|
|
136
|
+
version: "22.0.0-next.6",
|
|
137
137
|
ngImport: i0,
|
|
138
138
|
type: MatSort,
|
|
139
139
|
decorators: [{
|
|
@@ -302,7 +302,7 @@ class MatSortHeader {
|
|
|
302
302
|
}
|
|
303
303
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
304
304
|
minVersion: "12.0.0",
|
|
305
|
-
version: "22.0.0-next.
|
|
305
|
+
version: "22.0.0-next.6",
|
|
306
306
|
ngImport: i0,
|
|
307
307
|
type: MatSortHeader,
|
|
308
308
|
deps: [],
|
|
@@ -310,7 +310,7 @@ class MatSortHeader {
|
|
|
310
310
|
});
|
|
311
311
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
312
312
|
minVersion: "17.0.0",
|
|
313
|
-
version: "22.0.0-next.
|
|
313
|
+
version: "22.0.0-next.6",
|
|
314
314
|
type: MatSortHeader,
|
|
315
315
|
isStandalone: true,
|
|
316
316
|
selector: "[mat-sort-header]",
|
|
@@ -344,7 +344,7 @@ class MatSortHeader {
|
|
|
344
344
|
}
|
|
345
345
|
i0.ɵɵngDeclareClassMetadata({
|
|
346
346
|
minVersion: "12.0.0",
|
|
347
|
-
version: "22.0.0-next.
|
|
347
|
+
version: "22.0.0-next.6",
|
|
348
348
|
ngImport: i0,
|
|
349
349
|
type: MatSortHeader,
|
|
350
350
|
decorators: [{
|
|
@@ -399,7 +399,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
399
399
|
class MatSortModule {
|
|
400
400
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
401
401
|
minVersion: "12.0.0",
|
|
402
|
-
version: "22.0.0-next.
|
|
402
|
+
version: "22.0.0-next.6",
|
|
403
403
|
ngImport: i0,
|
|
404
404
|
type: MatSortModule,
|
|
405
405
|
deps: [],
|
|
@@ -407,7 +407,7 @@ class MatSortModule {
|
|
|
407
407
|
});
|
|
408
408
|
static ɵmod = i0.ɵɵngDeclareNgModule({
|
|
409
409
|
minVersion: "14.0.0",
|
|
410
|
-
version: "22.0.0-next.
|
|
410
|
+
version: "22.0.0-next.6",
|
|
411
411
|
ngImport: i0,
|
|
412
412
|
type: MatSortModule,
|
|
413
413
|
imports: [MatSort, MatSortHeader],
|
|
@@ -415,7 +415,7 @@ class MatSortModule {
|
|
|
415
415
|
});
|
|
416
416
|
static ɵinj = i0.ɵɵngDeclareInjector({
|
|
417
417
|
minVersion: "12.0.0",
|
|
418
|
-
version: "22.0.0-next.
|
|
418
|
+
version: "22.0.0-next.6",
|
|
419
419
|
ngImport: i0,
|
|
420
420
|
type: MatSortModule,
|
|
421
421
|
imports: [BidiModule]
|
|
@@ -423,7 +423,7 @@ class MatSortModule {
|
|
|
423
423
|
}
|
|
424
424
|
i0.ɵɵngDeclareClassMetadata({
|
|
425
425
|
minVersion: "12.0.0",
|
|
426
|
-
version: "22.0.0-next.
|
|
426
|
+
version: "22.0.0-next.6",
|
|
427
427
|
ngImport: i0,
|
|
428
428
|
type: MatSortModule,
|
|
429
429
|
decorators: [{
|
|
@@ -439,7 +439,7 @@ class MatSortHeaderIntl {
|
|
|
439
439
|
changes = new Subject();
|
|
440
440
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
441
441
|
minVersion: "12.0.0",
|
|
442
|
-
version: "22.0.0-next.
|
|
442
|
+
version: "22.0.0-next.6",
|
|
443
443
|
ngImport: i0,
|
|
444
444
|
type: MatSortHeaderIntl,
|
|
445
445
|
deps: [],
|
|
@@ -447,7 +447,7 @@ class MatSortHeaderIntl {
|
|
|
447
447
|
});
|
|
448
448
|
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
449
449
|
minVersion: "12.0.0",
|
|
450
|
-
version: "22.0.0-next.
|
|
450
|
+
version: "22.0.0-next.6",
|
|
451
451
|
ngImport: i0,
|
|
452
452
|
type: MatSortHeaderIntl,
|
|
453
453
|
providedIn: 'root'
|
|
@@ -455,7 +455,7 @@ class MatSortHeaderIntl {
|
|
|
455
455
|
}
|
|
456
456
|
i0.ɵɵngDeclareClassMetadata({
|
|
457
457
|
minVersion: "12.0.0",
|
|
458
|
-
version: "22.0.0-next.
|
|
458
|
+
version: "22.0.0-next.6",
|
|
459
459
|
ngImport: i0,
|
|
460
460
|
type: MatSortHeaderIntl,
|
|
461
461
|
decorators: [{
|
package/fesm2022/sort.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-errors.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header-intl.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n booleanAttribute,\n} from '@angular/core';\nimport {Observable, ReplaySubject, Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Position of the arrow that displays when sorted. */\nexport type SortHeaderArrowPosition = 'before' | 'after';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: SortDirection;\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n/** Default options for `mat-sort`. */\nexport interface MatSortDefaultOptions {\n /** Whether to disable clearing the sorting state. */\n disableClear?: boolean;\n /** Position of the arrow that displays when sorted. */\n arrowPosition?: SortHeaderArrowPosition;\n}\n\n/** Injection token to be used to override the default options for `mat-sort`. */\nexport const MAT_SORT_DEFAULT_OPTIONS = new InjectionToken<MatSortDefaultOptions>(\n 'MAT_SORT_DEFAULT_OPTIONS',\n);\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n host: {\n 'class': 'mat-sort',\n },\n})\nexport class MatSort implements OnChanges, OnDestroy, OnInit {\n private _initializedStream = new ReplaySubject<void>(1);\n\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active!: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overridden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: SortDirection = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection {\n return this._direction;\n }\n set direction(direction: SortDirection) {\n if (\n direction &&\n direction !== 'asc' &&\n direction !== 'desc' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)\n ) {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overridden by the MatSortable's disable clear input.\n */\n @Input({alias: 'matSortDisableClear', transform: booleanAttribute})\n disableClear!: boolean;\n\n /** Whether the sortable is disabled. */\n @Input({alias: 'matSortDisabled', transform: booleanAttribute})\n disabled: boolean = false;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n constructor(\n @Optional()\n @Inject(MAT_SORT_DEFAULT_OPTIONS)\n private _defaultOptions?: MatSortDefaultOptions,\n ) {}\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n }\n\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) {\n return '';\n }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear =\n sortable?.disableClear ?? this.disableClear ?? !!this._defaultOptions?.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) {\n nextDirectionIndex = 0;\n }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._initializedStream.next();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._initializedStream.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: SortDirection, disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') {\n sortOrder.reverse();\n }\n if (!disableClear) {\n sortOrder.push('');\n }\n\n return sortOrder;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {AriaDescriber, FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {CdkColumnDef} from '@angular/cdk/table';\nimport {merge, Subscription} from 'rxjs';\nimport {\n MAT_SORT_DEFAULT_OPTIONS,\n MatSort,\n MatSortable,\n MatSortDefaultOptions,\n SortHeaderArrowPosition,\n} from './sort';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {_animationsDisabled, _StructuralStylesLoader} from '../core';\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState?: ArrowViewState;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrl: 'sort-header.css',\n host: {\n 'class': 'mat-sort-header',\n '(click)': '_toggleOnInteraction()',\n '(keydown)': '_handleKeydown($event)',\n '(mouseleave)': '_recentlyCleared.set(null)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSortHeader implements MatSortable, OnDestroy, OnInit, AfterViewInit {\n protected _sort = inject(MatSort, {optional: true})!;\n private _columnDef = inject(CdkColumnDef, {optional: true});\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _focusMonitor = inject(FocusMonitor);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber, {optional: true});\n private _renderChanges: Subscription | undefined;\n protected _animationsDisabled = _animationsDisabled();\n\n /**\n * Indicates which state was just cleared from the sort header.\n * Will be reset on the next interaction. Used for coordinating animations.\n */\n protected _recentlyCleared = signal<SortDirection | null>(null);\n\n /**\n * The element with role=\"button\" inside this component's view. We need this\n * in order to apply a description with AriaDescriber.\n */\n private _sortButton!: HTMLElement;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id!: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: SortHeaderArrowPosition = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start!: SortDirection;\n\n /** whether the sort header is disabled. */\n @Input({transform: booleanAttribute})\n disabled: boolean = false;\n\n /**\n * Description applied to MatSortHeader's button element with aria-describedby. This text should\n * describe the action that will occur when the user clicks the sort header.\n */\n @Input()\n get sortActionDescription(): string {\n return this._sortActionDescription;\n }\n set sortActionDescription(value: string) {\n this._updateSortActionDescription(value);\n }\n // Default the action description to \"Sort\" because it's better than nothing.\n // Without a description, the button's label comes from the sort header text content,\n // which doesn't give any indication that it performs a sorting operation.\n private _sortActionDescription: string = 'Sort';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input({transform: booleanAttribute})\n disableClear!: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const defaultOptions = inject<MatSortDefaultOptions>(MAT_SORT_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n if (!this._sort && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n if (defaultOptions?.arrowPosition) {\n this.arrowPosition = defaultOptions?.arrowPosition;\n }\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n this._sort.register(this);\n this._renderChanges = merge(this._sort._stateChanges, this._sort.sortChange).subscribe(() =>\n this._changeDetectorRef.markForCheck(),\n );\n this._sortButton = this._elementRef.nativeElement.querySelector('.mat-sort-header-container')!;\n this._updateSortActionDescription(this._sortActionDescription);\n }\n\n ngAfterViewInit() {\n // We use the focus monitor because we also want to style\n // things differently based on the focus origin.\n this._focusMonitor.monitor(this._elementRef, true).subscribe(() => {\n // We need the delay here, because we can trigger a signal write error if the header\n // has a signal bound to `disabled` which causes it to be blurred (see #31723.)\n Promise.resolve().then(() => this._recentlyCleared.set(null));\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._sort.deregister(this);\n this._renderChanges?.unsubscribe();\n\n if (this._sortButton) {\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _toggleOnInteraction() {\n if (!this._isDisabled()) {\n const wasSorted = this._isSorted();\n const prevDirection = this._sort.direction;\n this._sort.sort(this);\n this._recentlyCleared.set(wasSorted && !this._isSorted() ? prevDirection : null);\n }\n }\n\n _handleKeydown(event: KeyboardEvent) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n event.preventDefault();\n this._toggleOnInteraction();\n }\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return (\n this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc')\n );\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) {\n return 'none';\n }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n\n /** Whether the arrow inside the sort header should be rendered. */\n _renderArrow() {\n return !this._isDisabled() || this._isSorted();\n }\n\n private _updateSortActionDescription(newDescription: string) {\n // We use AriaDescriber for the sort button instead of setting an `aria-label` because some\n // screen readers (notably VoiceOver) will read both the column header *and* the button's label\n // for every *cell* in the table, creating a lot of unnecessary noise.\n\n // If _sortButton is undefined, the component hasn't been initialized yet so there's\n // nothing to update in the DOM.\n if (this._sortButton) {\n // removeDescription will no-op if there is no existing message.\n // TODO(jelbourn): remove optional chaining when AriaDescriber is required.\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n this._ariaDescriber?.describe(this._sortButton, newDescription);\n }\n\n this._sortActionDescription = newDescription;\n }\n}\n","<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"_sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"_sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationsDisabled\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <ng-content select=\"[matSortHeaderIcon]\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </ng-content>\n </div>\n }\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\nimport {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\n\n@NgModule({\n imports: [MatSort, MatSortHeader],\n exports: [MatSort, MatSortHeader, BidiModule],\n})\nexport class MatSortModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n}\n"],"names":["getSortDuplicateSortableIdError","id","Error","getSortHeaderNotContainedWithinSortError","getSortHeaderMissingIdError","getSortInvalidDirectionError","direction","MAT_SORT_DEFAULT_OPTIONS","InjectionToken","MatSort","_defaultOptions","_initializedStream","ReplaySubject","sortables","Map","_stateChanges","Subject","active","start","_direction","ngDevMode","disableClear","disabled","sortChange","EventEmitter","initialized","constructor","register","sortable","has","set","deregister","delete","sort","getNextSortDirection","emit","sortDirectionCycle","getSortDirectionCycle","nextDirectionIndex","indexOf","length","ngOnInit","next","ngOnChanges","ngOnDestroy","complete","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","optional","target","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","booleanAttribute","outputs","host","classAttribute","exportAs","usesOnChanges","decorators","args","Optional","Inject","Input","alias","transform","Output","sortOrder","reverse","push","MatSortHeader","_sort","inject","_columnDef","CdkColumnDef","_changeDetectorRef","ChangeDetectorRef","_focusMonitor","FocusMonitor","_elementRef","ElementRef","_ariaDescriber","AriaDescriber","_renderChanges","_animationsDisabled","_recentlyCleared","signal","_sortButton","arrowPosition","sortActionDescription","_sortActionDescription","value","_updateSortActionDescription","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","defaultOptions","name","merge","subscribe","markForCheck","nativeElement","querySelector","ngAfterViewInit","monitor","Promise","resolve","then","stopMonitoring","unsubscribe","removeDescription","_toggleOnInteraction","_isDisabled","wasSorted","_isSorted","prevDirection","_handleKeydown","event","keyCode","SPACE","ENTER","preventDefault","_getAriaSortAttribute","_renderArrow","newDescription","describe","deps","Component","ɵcmp","ɵɵngDeclareComponent","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","template","MatSortModule","NgModule","imports","BidiModule","ɵinj","ɵɵngDeclareInjector","exports","MatSortHeaderIntl","changes","Injectable","ɵprov","ɵɵngDeclareInjectable","providedIn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sort.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-errors.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/sort/sort-header-intl.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n booleanAttribute,\n} from '@angular/core';\nimport {Observable, ReplaySubject, Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Position of the arrow that displays when sorted. */\nexport type SortHeaderArrowPosition = 'before' | 'after';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: SortDirection;\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n/** Default options for `mat-sort`. */\nexport interface MatSortDefaultOptions {\n /** Whether to disable clearing the sorting state. */\n disableClear?: boolean;\n /** Position of the arrow that displays when sorted. */\n arrowPosition?: SortHeaderArrowPosition;\n}\n\n/** Injection token to be used to override the default options for `mat-sort`. */\nexport const MAT_SORT_DEFAULT_OPTIONS = new InjectionToken<MatSortDefaultOptions>(\n 'MAT_SORT_DEFAULT_OPTIONS',\n);\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n host: {\n 'class': 'mat-sort',\n },\n})\nexport class MatSort implements OnChanges, OnDestroy, OnInit {\n private _initializedStream = new ReplaySubject<void>(1);\n\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active!: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overridden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: SortDirection = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection {\n return this._direction;\n }\n set direction(direction: SortDirection) {\n if (\n direction &&\n direction !== 'asc' &&\n direction !== 'desc' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)\n ) {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overridden by the MatSortable's disable clear input.\n */\n @Input({alias: 'matSortDisableClear', transform: booleanAttribute})\n disableClear!: boolean;\n\n /** Whether the sortable is disabled. */\n @Input({alias: 'matSortDisabled', transform: booleanAttribute})\n disabled: boolean = false;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n constructor(\n @Optional()\n @Inject(MAT_SORT_DEFAULT_OPTIONS)\n private _defaultOptions?: MatSortDefaultOptions,\n ) {}\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n }\n\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) {\n return '';\n }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear =\n sortable?.disableClear ?? this.disableClear ?? !!this._defaultOptions?.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) {\n nextDirectionIndex = 0;\n }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._initializedStream.next();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._initializedStream.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: SortDirection, disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') {\n sortOrder.reverse();\n }\n if (!disableClear) {\n sortOrder.push('');\n }\n\n return sortOrder;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {AriaDescriber, FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {CdkColumnDef} from '@angular/cdk/table';\nimport {merge, Subscription} from 'rxjs';\nimport {\n MAT_SORT_DEFAULT_OPTIONS,\n MatSort,\n MatSortable,\n MatSortDefaultOptions,\n SortHeaderArrowPosition,\n} from './sort';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {_animationsDisabled, _StructuralStylesLoader} from '../core';\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState?: ArrowViewState;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrl: 'sort-header.css',\n host: {\n 'class': 'mat-sort-header',\n '(click)': '_toggleOnInteraction()',\n '(keydown)': '_handleKeydown($event)',\n '(mouseleave)': '_recentlyCleared.set(null)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSortHeader implements MatSortable, OnDestroy, OnInit, AfterViewInit {\n protected _sort = inject(MatSort, {optional: true})!;\n private _columnDef = inject(CdkColumnDef, {optional: true});\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _focusMonitor = inject(FocusMonitor);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber, {optional: true});\n private _renderChanges: Subscription | undefined;\n protected _animationsDisabled = _animationsDisabled();\n\n /**\n * Indicates which state was just cleared from the sort header.\n * Will be reset on the next interaction. Used for coordinating animations.\n */\n protected _recentlyCleared = signal<SortDirection | null>(null);\n\n /**\n * The element with role=\"button\" inside this component's view. We need this\n * in order to apply a description with AriaDescriber.\n */\n private _sortButton!: HTMLElement;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id!: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: SortHeaderArrowPosition = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start!: SortDirection;\n\n /** whether the sort header is disabled. */\n @Input({transform: booleanAttribute})\n disabled: boolean = false;\n\n /**\n * Description applied to MatSortHeader's button element with aria-describedby. This text should\n * describe the action that will occur when the user clicks the sort header.\n */\n @Input()\n get sortActionDescription(): string {\n return this._sortActionDescription;\n }\n set sortActionDescription(value: string) {\n this._updateSortActionDescription(value);\n }\n // Default the action description to \"Sort\" because it's better than nothing.\n // Without a description, the button's label comes from the sort header text content,\n // which doesn't give any indication that it performs a sorting operation.\n private _sortActionDescription: string = 'Sort';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input({transform: booleanAttribute})\n disableClear!: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const defaultOptions = inject<MatSortDefaultOptions>(MAT_SORT_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n if (!this._sort && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n if (defaultOptions?.arrowPosition) {\n this.arrowPosition = defaultOptions?.arrowPosition;\n }\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n this._sort.register(this);\n this._renderChanges = merge(this._sort._stateChanges, this._sort.sortChange).subscribe(() =>\n this._changeDetectorRef.markForCheck(),\n );\n this._sortButton = this._elementRef.nativeElement.querySelector('.mat-sort-header-container')!;\n this._updateSortActionDescription(this._sortActionDescription);\n }\n\n ngAfterViewInit() {\n // We use the focus monitor because we also want to style\n // things differently based on the focus origin.\n this._focusMonitor.monitor(this._elementRef, true).subscribe(() => {\n // We need the delay here, because we can trigger a signal write error if the header\n // has a signal bound to `disabled` which causes it to be blurred (see #31723.)\n Promise.resolve().then(() => this._recentlyCleared.set(null));\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._sort.deregister(this);\n this._renderChanges?.unsubscribe();\n\n if (this._sortButton) {\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _toggleOnInteraction() {\n if (!this._isDisabled()) {\n const wasSorted = this._isSorted();\n const prevDirection = this._sort.direction;\n this._sort.sort(this);\n this._recentlyCleared.set(wasSorted && !this._isSorted() ? prevDirection : null);\n }\n }\n\n _handleKeydown(event: KeyboardEvent) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n event.preventDefault();\n this._toggleOnInteraction();\n }\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return (\n this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc')\n );\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) {\n return 'none';\n }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n\n /** Whether the arrow inside the sort header should be rendered. */\n _renderArrow() {\n return !this._isDisabled() || this._isSorted();\n }\n\n private _updateSortActionDescription(newDescription: string) {\n // We use AriaDescriber for the sort button instead of setting an `aria-label` because some\n // screen readers (notably VoiceOver) will read both the column header *and* the button's label\n // for every *cell* in the table, creating a lot of unnecessary noise.\n\n // If _sortButton is undefined, the component hasn't been initialized yet so there's\n // nothing to update in the DOM.\n if (this._sortButton) {\n // removeDescription will no-op if there is no existing message.\n // TODO(jelbourn): remove optional chaining when AriaDescriber is required.\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n this._ariaDescriber?.describe(this._sortButton, newDescription);\n }\n\n this._sortActionDescription = newDescription;\n }\n}\n","<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"_sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"_sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationsDisabled\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <ng-content select=\"[matSortHeaderIcon]\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </ng-content>\n </div>\n }\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\nimport {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\n\n@NgModule({\n imports: [MatSort, MatSortHeader],\n exports: [MatSort, MatSortHeader, BidiModule],\n})\nexport class MatSortModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n *\n * @deprecated No longer used, will be removed.\n * @breaking-change 23.0.0\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n}\n"],"names":["getSortDuplicateSortableIdError","id","Error","getSortHeaderNotContainedWithinSortError","getSortHeaderMissingIdError","getSortInvalidDirectionError","direction","MAT_SORT_DEFAULT_OPTIONS","InjectionToken","MatSort","_defaultOptions","_initializedStream","ReplaySubject","sortables","Map","_stateChanges","Subject","active","start","_direction","ngDevMode","disableClear","disabled","sortChange","EventEmitter","initialized","constructor","register","sortable","has","set","deregister","delete","sort","getNextSortDirection","emit","sortDirectionCycle","getSortDirectionCycle","nextDirectionIndex","indexOf","length","ngOnInit","next","ngOnChanges","ngOnDestroy","complete","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","optional","target","ɵɵFactoryTarget","Directive","isStandalone","selector","inputs","booleanAttribute","outputs","host","classAttribute","exportAs","usesOnChanges","decorators","args","Optional","Inject","Input","alias","transform","Output","sortOrder","reverse","push","MatSortHeader","_sort","inject","_columnDef","CdkColumnDef","_changeDetectorRef","ChangeDetectorRef","_focusMonitor","FocusMonitor","_elementRef","ElementRef","_ariaDescriber","AriaDescriber","_renderChanges","_animationsDisabled","_recentlyCleared","signal","_sortButton","arrowPosition","sortActionDescription","_sortActionDescription","value","_updateSortActionDescription","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","defaultOptions","name","merge","subscribe","markForCheck","nativeElement","querySelector","ngAfterViewInit","monitor","Promise","resolve","then","stopMonitoring","unsubscribe","removeDescription","_toggleOnInteraction","_isDisabled","wasSorted","_isSorted","prevDirection","_handleKeydown","event","keyCode","SPACE","ENTER","preventDefault","_getAriaSortAttribute","_renderArrow","newDescription","describe","deps","Component","ɵcmp","ɵɵngDeclareComponent","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","template","MatSortModule","NgModule","imports","BidiModule","ɵinj","ɵɵngDeclareInjector","exports","MatSortHeaderIntl","changes","Injectable","ɵprov","ɵɵngDeclareInjectable","providedIn"],"mappings":"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"}
|