@angular/material 21.2.2 → 21.3.0-next.0

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.
Files changed (119) hide show
  1. package/button/_m3-button.scss +1 -0
  2. package/fesm2022/_error-options-chunk.mjs +6 -6
  3. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  4. package/fesm2022/_form-field-chunk.mjs +30 -30
  5. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-button-chunk.mjs +85 -20
  7. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  8. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  9. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  10. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  11. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  12. package/fesm2022/_line-chunk.mjs +7 -7
  13. package/fesm2022/_line-chunk.mjs.map +1 -1
  14. package/fesm2022/_option-chunk.mjs +6 -6
  15. package/fesm2022/_option-chunk.mjs.map +1 -1
  16. package/fesm2022/_option-module-chunk.mjs +4 -4
  17. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  18. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  19. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  20. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  21. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  22. package/fesm2022/_ripple-chunk.mjs +6 -6
  23. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  24. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  25. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  26. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  27. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  28. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  29. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  30. package/fesm2022/_tooltip-chunk.mjs +6 -6
  31. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  32. package/fesm2022/autocomplete.mjs +13 -13
  33. package/fesm2022/autocomplete.mjs.map +1 -1
  34. package/fesm2022/badge.mjs +10 -10
  35. package/fesm2022/badge.mjs.map +1 -1
  36. package/fesm2022/bottom-sheet.mjs +12 -12
  37. package/fesm2022/bottom-sheet.mjs.map +1 -1
  38. package/fesm2022/button-testing.mjs +4 -0
  39. package/fesm2022/button-testing.mjs.map +1 -1
  40. package/fesm2022/button-toggle.mjs +10 -10
  41. package/fesm2022/button-toggle.mjs.map +1 -1
  42. package/fesm2022/button.mjs +28 -28
  43. package/fesm2022/button.mjs.map +1 -1
  44. package/fesm2022/card.mjs +46 -46
  45. package/fesm2022/card.mjs.map +1 -1
  46. package/fesm2022/checkbox.mjs +7 -7
  47. package/fesm2022/checkbox.mjs.map +1 -1
  48. package/fesm2022/chips.mjs +46 -46
  49. package/fesm2022/chips.mjs.map +1 -1
  50. package/fesm2022/core.mjs +12 -12
  51. package/fesm2022/core.mjs.map +1 -1
  52. package/fesm2022/datepicker.mjs +82 -82
  53. package/fesm2022/datepicker.mjs.map +1 -1
  54. package/fesm2022/dialog.mjs +28 -28
  55. package/fesm2022/dialog.mjs.map +1 -1
  56. package/fesm2022/divider.mjs +7 -7
  57. package/fesm2022/divider.mjs.map +1 -1
  58. package/fesm2022/expansion.mjs +29 -29
  59. package/fesm2022/expansion.mjs.map +1 -1
  60. package/fesm2022/form-field.mjs +4 -4
  61. package/fesm2022/form-field.mjs.map +1 -1
  62. package/fesm2022/grid-list.mjs +22 -22
  63. package/fesm2022/grid-list.mjs.map +1 -1
  64. package/fesm2022/icon-testing.mjs +7 -7
  65. package/fesm2022/icon.mjs +7 -7
  66. package/fesm2022/icon.mjs.map +1 -1
  67. package/fesm2022/input.mjs +7 -7
  68. package/fesm2022/input.mjs.map +1 -1
  69. package/fesm2022/list.mjs +49 -49
  70. package/fesm2022/list.mjs.map +1 -1
  71. package/fesm2022/menu.mjs +22 -22
  72. package/fesm2022/menu.mjs.map +1 -1
  73. package/fesm2022/paginator.mjs +10 -10
  74. package/fesm2022/paginator.mjs.map +1 -1
  75. package/fesm2022/progress-bar.mjs +7 -7
  76. package/fesm2022/progress-bar.mjs.map +1 -1
  77. package/fesm2022/progress-spinner.mjs +7 -7
  78. package/fesm2022/progress-spinner.mjs.map +1 -1
  79. package/fesm2022/radio.mjs +10 -10
  80. package/fesm2022/radio.mjs.map +1 -1
  81. package/fesm2022/select.mjs +10 -10
  82. package/fesm2022/select.mjs.map +1 -1
  83. package/fesm2022/sidenav.mjs +22 -22
  84. package/fesm2022/sidenav.mjs.map +1 -1
  85. package/fesm2022/slide-toggle.mjs +7 -7
  86. package/fesm2022/slide-toggle.mjs.map +1 -1
  87. package/fesm2022/slider.mjs +16 -16
  88. package/fesm2022/slider.mjs.map +1 -1
  89. package/fesm2022/snack-bar.mjs +26 -26
  90. package/fesm2022/snack-bar.mjs.map +1 -1
  91. package/fesm2022/sort.mjs +13 -13
  92. package/fesm2022/sort.mjs.map +1 -1
  93. package/fesm2022/stepper.mjs +31 -31
  94. package/fesm2022/stepper.mjs.map +1 -1
  95. package/fesm2022/table.mjs +65 -65
  96. package/fesm2022/table.mjs.map +1 -1
  97. package/fesm2022/tabs.mjs +82 -69
  98. package/fesm2022/tabs.mjs.map +1 -1
  99. package/fesm2022/timepicker.mjs +13 -13
  100. package/fesm2022/timepicker.mjs.map +1 -1
  101. package/fesm2022/toolbar.mjs +10 -10
  102. package/fesm2022/toolbar.mjs.map +1 -1
  103. package/fesm2022/tooltip.mjs +4 -4
  104. package/fesm2022/tooltip.mjs.map +1 -1
  105. package/fesm2022/tree.mjs +27 -27
  106. package/fesm2022/tree.mjs.map +1 -1
  107. package/package.json +6 -6
  108. package/schematics/ng-add/index.js +2 -2
  109. package/types/autocomplete.d.ts +1 -1
  110. package/types/button-testing.d.ts +3 -0
  111. package/types/button.d.ts +8 -6
  112. package/types/checkbox.d.ts +1 -1
  113. package/types/datepicker.d.ts +7 -7
  114. package/types/dialog.d.ts +1 -1
  115. package/types/expansion.d.ts +28 -2
  116. package/types/list.d.ts +1 -1
  117. package/types/select.d.ts +1 -1
  118. package/types/slide-toggle.d.ts +1 -1
  119. package/types/tabs.d.ts +11 -4
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.1",
101
+ version: "21.0.3",
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.1",
112
+ version: "21.0.3",
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.1",
136
+ version: "21.0.3",
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.1",
305
+ version: "21.0.3",
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.1",
313
+ version: "21.0.3",
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.1",
347
+ version: "21.0.3",
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.1",
402
+ version: "21.0.3",
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.1",
410
+ version: "21.0.3",
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.1",
418
+ version: "21.0.3",
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.1",
426
+ version: "21.0.3",
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.1",
442
+ version: "21.0.3",
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.1",
450
+ version: "21.0.3",
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.1",
458
+ version: "21.0.3",
459
459
  ngImport: i0,
460
460
  type: MatSortHeaderIntl,
461
461
  decorators: [{
@@ -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@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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"}
@@ -24,7 +24,7 @@ import '@angular/cdk/layout';
24
24
  class MatStepLabel extends CdkStepLabel {
25
25
  static ɵfac = i0.ɵɵngDeclareFactory({
26
26
  minVersion: "12.0.0",
27
- version: "22.0.0-next.1",
27
+ version: "21.0.3",
28
28
  ngImport: i0,
29
29
  type: MatStepLabel,
30
30
  deps: null,
@@ -32,7 +32,7 @@ class MatStepLabel extends CdkStepLabel {
32
32
  });
33
33
  static ɵdir = i0.ɵɵngDeclareDirective({
34
34
  minVersion: "14.0.0",
35
- version: "22.0.0-next.1",
35
+ version: "21.0.3",
36
36
  type: MatStepLabel,
37
37
  isStandalone: true,
38
38
  selector: "[matStepLabel]",
@@ -42,7 +42,7 @@ class MatStepLabel extends CdkStepLabel {
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({
44
44
  minVersion: "12.0.0",
45
- version: "22.0.0-next.1",
45
+ version: "21.0.3",
46
46
  ngImport: i0,
47
47
  type: MatStepLabel,
48
48
  decorators: [{
@@ -60,7 +60,7 @@ class MatStepperIntl {
60
60
  editableLabel = 'Editable';
61
61
  static ɵfac = i0.ɵɵngDeclareFactory({
62
62
  minVersion: "12.0.0",
63
- version: "22.0.0-next.1",
63
+ version: "21.0.3",
64
64
  ngImport: i0,
65
65
  type: MatStepperIntl,
66
66
  deps: [],
@@ -68,7 +68,7 @@ class MatStepperIntl {
68
68
  });
69
69
  static ɵprov = i0.ɵɵngDeclareInjectable({
70
70
  minVersion: "12.0.0",
71
- version: "22.0.0-next.1",
71
+ version: "21.0.3",
72
72
  ngImport: i0,
73
73
  type: MatStepperIntl,
74
74
  providedIn: 'root'
@@ -76,7 +76,7 @@ class MatStepperIntl {
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({
78
78
  minVersion: "12.0.0",
79
- version: "22.0.0-next.1",
79
+ version: "21.0.3",
80
80
  ngImport: i0,
81
81
  type: MatStepperIntl,
82
82
  decorators: [{
@@ -155,7 +155,7 @@ class MatStepHeader extends CdkStepHeader {
155
155
  }
156
156
  static ɵfac = i0.ɵɵngDeclareFactory({
157
157
  minVersion: "12.0.0",
158
- version: "22.0.0-next.1",
158
+ version: "21.0.3",
159
159
  ngImport: i0,
160
160
  type: MatStepHeader,
161
161
  deps: [],
@@ -163,7 +163,7 @@ class MatStepHeader extends CdkStepHeader {
163
163
  });
164
164
  static ɵcmp = i0.ɵɵngDeclareComponent({
165
165
  minVersion: "17.0.0",
166
- version: "22.0.0-next.1",
166
+ version: "21.0.3",
167
167
  type: MatStepHeader,
168
168
  isStandalone: true,
169
169
  selector: "mat-step-header",
@@ -217,7 +217,7 @@ class MatStepHeader extends CdkStepHeader {
217
217
  }
218
218
  i0.ɵɵngDeclareClassMetadata({
219
219
  minVersion: "12.0.0",
220
- version: "22.0.0-next.1",
220
+ version: "21.0.3",
221
221
  ngImport: i0,
222
222
  type: MatStepHeader,
223
223
  decorators: [{
@@ -278,7 +278,7 @@ class MatStepperIcon {
278
278
  constructor() {}
279
279
  static ɵfac = i0.ɵɵngDeclareFactory({
280
280
  minVersion: "12.0.0",
281
- version: "22.0.0-next.1",
281
+ version: "21.0.3",
282
282
  ngImport: i0,
283
283
  type: MatStepperIcon,
284
284
  deps: [],
@@ -286,7 +286,7 @@ class MatStepperIcon {
286
286
  });
287
287
  static ɵdir = i0.ɵɵngDeclareDirective({
288
288
  minVersion: "14.0.0",
289
- version: "22.0.0-next.1",
289
+ version: "21.0.3",
290
290
  type: MatStepperIcon,
291
291
  isStandalone: true,
292
292
  selector: "ng-template[matStepperIcon]",
@@ -298,7 +298,7 @@ class MatStepperIcon {
298
298
  }
299
299
  i0.ɵɵngDeclareClassMetadata({
300
300
  minVersion: "12.0.0",
301
- version: "22.0.0-next.1",
301
+ version: "21.0.3",
302
302
  ngImport: i0,
303
303
  type: MatStepperIcon,
304
304
  decorators: [{
@@ -321,7 +321,7 @@ class MatStepContent {
321
321
  constructor() {}
322
322
  static ɵfac = i0.ɵɵngDeclareFactory({
323
323
  minVersion: "12.0.0",
324
- version: "22.0.0-next.1",
324
+ version: "21.0.3",
325
325
  ngImport: i0,
326
326
  type: MatStepContent,
327
327
  deps: [],
@@ -329,7 +329,7 @@ class MatStepContent {
329
329
  });
330
330
  static ɵdir = i0.ɵɵngDeclareDirective({
331
331
  minVersion: "14.0.0",
332
- version: "22.0.0-next.1",
332
+ version: "21.0.3",
333
333
  type: MatStepContent,
334
334
  isStandalone: true,
335
335
  selector: "ng-template[matStepContent]",
@@ -338,7 +338,7 @@ class MatStepContent {
338
338
  }
339
339
  i0.ɵɵngDeclareClassMetadata({
340
340
  minVersion: "12.0.0",
341
- version: "22.0.0-next.1",
341
+ version: "21.0.3",
342
342
  ngImport: i0,
343
343
  type: MatStepContent,
344
344
  decorators: [{
@@ -379,7 +379,7 @@ class MatStep extends CdkStep {
379
379
  }
380
380
  static ɵfac = i0.ɵɵngDeclareFactory({
381
381
  minVersion: "12.0.0",
382
- version: "22.0.0-next.1",
382
+ version: "21.0.3",
383
383
  ngImport: i0,
384
384
  type: MatStep,
385
385
  deps: null,
@@ -387,7 +387,7 @@ class MatStep extends CdkStep {
387
387
  });
388
388
  static ɵcmp = i0.ɵɵngDeclareComponent({
389
389
  minVersion: "14.0.0",
390
- version: "22.0.0-next.1",
390
+ version: "21.0.3",
391
391
  type: MatStep,
392
392
  isStandalone: true,
393
393
  selector: "mat-step",
@@ -435,7 +435,7 @@ class MatStep extends CdkStep {
435
435
  }
436
436
  i0.ɵɵngDeclareClassMetadata({
437
437
  minVersion: "12.0.0",
438
- version: "22.0.0-next.1",
438
+ version: "21.0.3",
439
439
  ngImport: i0,
440
440
  type: MatStep,
441
441
  decorators: [{
@@ -579,7 +579,7 @@ class MatStepper extends CdkStepper {
579
579
  }
580
580
  static ɵfac = i0.ɵɵngDeclareFactory({
581
581
  minVersion: "12.0.0",
582
- version: "22.0.0-next.1",
582
+ version: "21.0.3",
583
583
  ngImport: i0,
584
584
  type: MatStepper,
585
585
  deps: [],
@@ -587,7 +587,7 @@ class MatStepper extends CdkStepper {
587
587
  });
588
588
  static ɵcmp = i0.ɵɵngDeclareComponent({
589
589
  minVersion: "17.0.0",
590
- version: "22.0.0-next.1",
590
+ version: "21.0.3",
591
591
  type: MatStepper,
592
592
  isStandalone: true,
593
593
  selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]",
@@ -693,7 +693,7 @@ class MatStepper extends CdkStepper {
693
693
  }
694
694
  i0.ɵɵngDeclareClassMetadata({
695
695
  minVersion: "12.0.0",
696
- version: "22.0.0-next.1",
696
+ version: "21.0.3",
697
697
  ngImport: i0,
698
698
  type: MatStepper,
699
699
  decorators: [{
@@ -775,7 +775,7 @@ i0.ɵɵngDeclareClassMetadata({
775
775
  class MatStepperNext extends CdkStepperNext {
776
776
  static ɵfac = i0.ɵɵngDeclareFactory({
777
777
  minVersion: "12.0.0",
778
- version: "22.0.0-next.1",
778
+ version: "21.0.3",
779
779
  ngImport: i0,
780
780
  type: MatStepperNext,
781
781
  deps: null,
@@ -783,7 +783,7 @@ class MatStepperNext extends CdkStepperNext {
783
783
  });
784
784
  static ɵdir = i0.ɵɵngDeclareDirective({
785
785
  minVersion: "14.0.0",
786
- version: "22.0.0-next.1",
786
+ version: "21.0.3",
787
787
  type: MatStepperNext,
788
788
  isStandalone: true,
789
789
  selector: "button[matStepperNext]",
@@ -799,7 +799,7 @@ class MatStepperNext extends CdkStepperNext {
799
799
  }
800
800
  i0.ɵɵngDeclareClassMetadata({
801
801
  minVersion: "12.0.0",
802
- version: "22.0.0-next.1",
802
+ version: "21.0.3",
803
803
  ngImport: i0,
804
804
  type: MatStepperNext,
805
805
  decorators: [{
@@ -816,7 +816,7 @@ i0.ɵɵngDeclareClassMetadata({
816
816
  class MatStepperPrevious extends CdkStepperPrevious {
817
817
  static ɵfac = i0.ɵɵngDeclareFactory({
818
818
  minVersion: "12.0.0",
819
- version: "22.0.0-next.1",
819
+ version: "21.0.3",
820
820
  ngImport: i0,
821
821
  type: MatStepperPrevious,
822
822
  deps: null,
@@ -824,7 +824,7 @@ class MatStepperPrevious extends CdkStepperPrevious {
824
824
  });
825
825
  static ɵdir = i0.ɵɵngDeclareDirective({
826
826
  minVersion: "14.0.0",
827
- version: "22.0.0-next.1",
827
+ version: "21.0.3",
828
828
  type: MatStepperPrevious,
829
829
  isStandalone: true,
830
830
  selector: "button[matStepperPrevious]",
@@ -840,7 +840,7 @@ class MatStepperPrevious extends CdkStepperPrevious {
840
840
  }
841
841
  i0.ɵɵngDeclareClassMetadata({
842
842
  minVersion: "12.0.0",
843
- version: "22.0.0-next.1",
843
+ version: "21.0.3",
844
844
  ngImport: i0,
845
845
  type: MatStepperPrevious,
846
846
  decorators: [{
@@ -858,7 +858,7 @@ i0.ɵɵngDeclareClassMetadata({
858
858
  class MatStepperModule {
859
859
  static ɵfac = i0.ɵɵngDeclareFactory({
860
860
  minVersion: "12.0.0",
861
- version: "22.0.0-next.1",
861
+ version: "21.0.3",
862
862
  ngImport: i0,
863
863
  type: MatStepperModule,
864
864
  deps: [],
@@ -866,7 +866,7 @@ class MatStepperModule {
866
866
  });
867
867
  static ɵmod = i0.ɵɵngDeclareNgModule({
868
868
  minVersion: "14.0.0",
869
- version: "22.0.0-next.1",
869
+ version: "21.0.3",
870
870
  ngImport: i0,
871
871
  type: MatStepperModule,
872
872
  imports: [PortalModule, CdkStepperModule, MatIconModule, MatRippleModule, MatStep, MatStepLabel, MatStepper, MatStepperNext, MatStepperPrevious, MatStepHeader, MatStepperIcon, MatStepContent],
@@ -874,7 +874,7 @@ class MatStepperModule {
874
874
  });
875
875
  static ɵinj = i0.ɵɵngDeclareInjector({
876
876
  minVersion: "12.0.0",
877
- version: "22.0.0-next.1",
877
+ version: "21.0.3",
878
878
  ngImport: i0,
879
879
  type: MatStepperModule,
880
880
  providers: [ErrorStateMatcher],
@@ -883,7 +883,7 @@ class MatStepperModule {
883
883
  }
884
884
  i0.ɵɵngDeclareClassMetadata({
885
885
  minVersion: "12.0.0",
886
- version: "22.0.0-next.1",
886
+ version: "21.0.3",
887
887
  ngImport: i0,
888
888
  type: MatStepperModule,
889
889
  decorators: [{