@angular/material 21.0.0 → 21.1.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 (109) hide show
  1. package/fesm2022/_error-options-chunk.mjs +6 -6
  2. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  3. package/fesm2022/_form-field-chunk.mjs +60 -30
  4. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  5. package/fesm2022/_icon-button-chunk.mjs +6 -6
  6. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  7. package/fesm2022/_icon-registry-chunk.mjs +4 -22
  8. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  9. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  10. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  11. package/fesm2022/_line-chunk.mjs +7 -7
  12. package/fesm2022/_line-chunk.mjs.map +1 -1
  13. package/fesm2022/_option-chunk.mjs +6 -6
  14. package/fesm2022/_option-chunk.mjs.map +1 -1
  15. package/fesm2022/_option-module-chunk.mjs +4 -4
  16. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  17. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  18. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  19. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  20. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  21. package/fesm2022/_ripple-chunk.mjs +6 -6
  22. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  23. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  24. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  25. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  26. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  27. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  28. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  29. package/fesm2022/_tooltip-chunk.mjs +6 -6
  30. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  31. package/fesm2022/autocomplete.mjs +13 -13
  32. package/fesm2022/autocomplete.mjs.map +1 -1
  33. package/fesm2022/badge.mjs +10 -10
  34. package/fesm2022/badge.mjs.map +1 -1
  35. package/fesm2022/bottom-sheet.mjs +10 -10
  36. package/fesm2022/bottom-sheet.mjs.map +1 -1
  37. package/fesm2022/button-toggle.mjs +10 -10
  38. package/fesm2022/button-toggle.mjs.map +1 -1
  39. package/fesm2022/button.mjs +13 -13
  40. package/fesm2022/button.mjs.map +1 -1
  41. package/fesm2022/card.mjs +46 -46
  42. package/fesm2022/card.mjs.map +1 -1
  43. package/fesm2022/checkbox.mjs +7 -7
  44. package/fesm2022/checkbox.mjs.map +1 -1
  45. package/fesm2022/chips.mjs +46 -46
  46. package/fesm2022/chips.mjs.map +1 -1
  47. package/fesm2022/core.mjs +12 -12
  48. package/fesm2022/core.mjs.map +1 -1
  49. package/fesm2022/datepicker.mjs +82 -82
  50. package/fesm2022/datepicker.mjs.map +1 -1
  51. package/fesm2022/dialog.mjs +25 -25
  52. package/fesm2022/dialog.mjs.map +1 -1
  53. package/fesm2022/divider.mjs +7 -7
  54. package/fesm2022/divider.mjs.map +1 -1
  55. package/fesm2022/expansion.mjs +25 -25
  56. package/fesm2022/expansion.mjs.map +1 -1
  57. package/fesm2022/form-field.mjs +4 -4
  58. package/fesm2022/form-field.mjs.map +1 -1
  59. package/fesm2022/grid-list.mjs +22 -22
  60. package/fesm2022/grid-list.mjs.map +1 -1
  61. package/fesm2022/icon-testing.mjs +8 -7
  62. package/fesm2022/icon-testing.mjs.map +1 -1
  63. package/fesm2022/icon.mjs +8 -7
  64. package/fesm2022/icon.mjs.map +1 -1
  65. package/fesm2022/input.mjs +7 -7
  66. package/fesm2022/input.mjs.map +1 -1
  67. package/fesm2022/list.mjs +49 -49
  68. package/fesm2022/list.mjs.map +1 -1
  69. package/fesm2022/menu.mjs +22 -22
  70. package/fesm2022/menu.mjs.map +1 -1
  71. package/fesm2022/paginator.mjs +10 -10
  72. package/fesm2022/paginator.mjs.map +1 -1
  73. package/fesm2022/progress-bar.mjs +7 -7
  74. package/fesm2022/progress-bar.mjs.map +1 -1
  75. package/fesm2022/progress-spinner.mjs +7 -7
  76. package/fesm2022/progress-spinner.mjs.map +1 -1
  77. package/fesm2022/radio.mjs +10 -10
  78. package/fesm2022/radio.mjs.map +1 -1
  79. package/fesm2022/select.mjs +16 -16
  80. package/fesm2022/select.mjs.map +1 -1
  81. package/fesm2022/sidenav.mjs +22 -22
  82. package/fesm2022/sidenav.mjs.map +1 -1
  83. package/fesm2022/slide-toggle.mjs +7 -7
  84. package/fesm2022/slide-toggle.mjs.map +1 -1
  85. package/fesm2022/slider.mjs +16 -16
  86. package/fesm2022/slider.mjs.map +1 -1
  87. package/fesm2022/snack-bar.mjs +22 -22
  88. package/fesm2022/snack-bar.mjs.map +1 -1
  89. package/fesm2022/sort.mjs +13 -13
  90. package/fesm2022/sort.mjs.map +1 -1
  91. package/fesm2022/stepper.mjs +89 -41
  92. package/fesm2022/stepper.mjs.map +1 -1
  93. package/fesm2022/table.mjs +55 -55
  94. package/fesm2022/table.mjs.map +1 -1
  95. package/fesm2022/tabs.mjs +43 -43
  96. package/fesm2022/tabs.mjs.map +1 -1
  97. package/fesm2022/timepicker.mjs +185 -16
  98. package/fesm2022/timepicker.mjs.map +1 -1
  99. package/fesm2022/toolbar.mjs +10 -10
  100. package/fesm2022/toolbar.mjs.map +1 -1
  101. package/fesm2022/tooltip.mjs +4 -4
  102. package/fesm2022/tooltip.mjs.map +1 -1
  103. package/fesm2022/tree.mjs +25 -25
  104. package/fesm2022/tree.mjs.map +1 -1
  105. package/package.json +6 -6
  106. package/schematics/ng-add/fonts/material-fonts.js +7 -0
  107. package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
  108. package/schematics/ng-add/index.js +2 -2
  109. package/types/stepper.d.ts +3 -1
@@ -2,7 +2,7 @@ import { BidiModule } from '@angular/cdk/bidi';
2
2
  import { TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
3
3
  import { CdkStepLabel, CdkStepHeader, CdkStep, CdkStepper, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
4
4
  import * as i0 from '@angular/core';
5
- import { Directive, Injectable, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, TemplateRef, ViewContainerRef, ContentChild, NgZone, Renderer2, signal, QueryList, EventEmitter, ElementRef, ViewChildren, ContentChildren, Output, NgModule } from '@angular/core';
5
+ import { Directive, Injectable, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, TemplateRef, ViewContainerRef, ContentChild, NgZone, Renderer2, signal, QueryList, EventEmitter, input, ElementRef, ViewChildren, ContentChildren, Output, NgModule } from '@angular/core';
6
6
  import { FocusMonitor } from '@angular/cdk/a11y';
7
7
  import { Subject, Subscription } from 'rxjs';
8
8
  import { NgTemplateOutlet } from '@angular/common';
@@ -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: "20.2.0-next.2",
27
+ version: "21.0.0",
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: "20.2.0-next.2",
35
+ version: "21.0.0",
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: "20.2.0-next.2",
45
+ version: "21.0.0",
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: "20.2.0-next.2",
63
+ version: "21.0.0",
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: "20.2.0-next.2",
71
+ version: "21.0.0",
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: "20.2.0-next.2",
79
+ version: "21.0.0",
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: "20.2.0-next.2",
158
+ version: "21.0.0",
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: "20.2.0-next.2",
166
+ version: "21.0.0",
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: "20.2.0-next.2",
220
+ version: "21.0.0",
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: "20.2.0-next.2",
281
+ version: "21.0.0",
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: "20.2.0-next.2",
289
+ version: "21.0.0",
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: "20.2.0-next.2",
301
+ version: "21.0.0",
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: "20.2.0-next.2",
324
+ version: "21.0.0",
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: "20.2.0-next.2",
332
+ version: "21.0.0",
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: "20.2.0-next.2",
341
+ version: "21.0.0",
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: "20.2.0-next.2",
382
+ version: "21.0.0",
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: "20.2.0-next.2",
390
+ version: "21.0.0",
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: "20.2.0-next.2",
438
+ version: "21.0.0",
439
439
  ngImport: i0,
440
440
  type: MatStep,
441
441
  decorators: [{
@@ -493,6 +493,9 @@ class MatStepper extends CdkStepper {
493
493
  color;
494
494
  labelPosition = 'end';
495
495
  headerPosition = 'top';
496
+ headerPrefix = input(null, ...(ngDevMode ? [{
497
+ debugName: "headerPrefix"
498
+ }] : []));
496
499
  _iconOverrides = {};
497
500
  get animationDuration() {
498
501
  return this._animationDuration;
@@ -576,7 +579,7 @@ class MatStepper extends CdkStepper {
576
579
  }
577
580
  static ɵfac = i0.ɵɵngDeclareFactory({
578
581
  minVersion: "12.0.0",
579
- version: "20.2.0-next.2",
582
+ version: "21.0.0",
580
583
  ngImport: i0,
581
584
  type: MatStepper,
582
585
  deps: [],
@@ -584,16 +587,53 @@ class MatStepper extends CdkStepper {
584
587
  });
585
588
  static ɵcmp = i0.ɵɵngDeclareComponent({
586
589
  minVersion: "17.0.0",
587
- version: "20.2.0-next.2",
590
+ version: "21.0.0",
588
591
  type: MatStepper,
589
592
  isStandalone: true,
590
593
  selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]",
591
594
  inputs: {
592
- disableRipple: "disableRipple",
593
- color: "color",
594
- labelPosition: "labelPosition",
595
- headerPosition: "headerPosition",
596
- animationDuration: "animationDuration"
595
+ disableRipple: {
596
+ classPropertyName: "disableRipple",
597
+ publicName: "disableRipple",
598
+ isSignal: false,
599
+ isRequired: false,
600
+ transformFunction: null
601
+ },
602
+ color: {
603
+ classPropertyName: "color",
604
+ publicName: "color",
605
+ isSignal: false,
606
+ isRequired: false,
607
+ transformFunction: null
608
+ },
609
+ labelPosition: {
610
+ classPropertyName: "labelPosition",
611
+ publicName: "labelPosition",
612
+ isSignal: false,
613
+ isRequired: false,
614
+ transformFunction: null
615
+ },
616
+ headerPosition: {
617
+ classPropertyName: "headerPosition",
618
+ publicName: "headerPosition",
619
+ isSignal: false,
620
+ isRequired: false,
621
+ transformFunction: null
622
+ },
623
+ headerPrefix: {
624
+ classPropertyName: "headerPrefix",
625
+ publicName: "headerPrefix",
626
+ isSignal: true,
627
+ isRequired: false,
628
+ transformFunction: null
629
+ },
630
+ animationDuration: {
631
+ classPropertyName: "animationDuration",
632
+ publicName: "animationDuration",
633
+ isSignal: false,
634
+ isRequired: false,
635
+ transformFunction: null
636
+ }
597
637
  },
598
638
  outputs: {
599
639
  animationDone: "animationDone"
@@ -634,8 +674,8 @@ class MatStepper extends CdkStepper {
634
674
  exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"],
635
675
  usesInheritance: true,
636
676
  ngImport: i0,
637
- template: "<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n",
638
- styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"],
677
+ template: "<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n @if (headerPrefix()) {\n <div class=\"mat-horizontal-stepper-header-wrapper\">\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n }\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @if (headerPrefix()) {\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n }\n\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n\n<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n</ng-template>\n",
678
+ styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-wrapper{align-items:center;display:flex}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;flex-grow:1}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"],
639
679
  dependencies: [{
640
680
  kind: "directive",
641
681
  type: NgTemplateOutlet,
@@ -653,7 +693,7 @@ class MatStepper extends CdkStepper {
653
693
  }
654
694
  i0.ɵɵngDeclareClassMetadata({
655
695
  minVersion: "12.0.0",
656
- version: "20.2.0-next.2",
696
+ version: "21.0.0",
657
697
  ngImport: i0,
658
698
  type: MatStepper,
659
699
  decorators: [{
@@ -677,8 +717,8 @@ i0.ɵɵngDeclareClassMetadata({
677
717
  encapsulation: ViewEncapsulation.None,
678
718
  changeDetection: ChangeDetectionStrategy.OnPush,
679
719
  imports: [NgTemplateOutlet, MatStepHeader],
680
- template: "<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n",
681
- styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"]
720
+ template: "<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n @if (headerPrefix()) {\n <div class=\"mat-horizontal-stepper-header-wrapper\">\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n }\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @if (headerPrefix()) {\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n }\n\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n\n<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n</ng-template>\n",
721
+ styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-wrapper{align-items:center;display:flex}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;flex-grow:1}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"]
682
722
  }]
683
723
  }],
684
724
  ctorParameters: () => [],
@@ -718,6 +758,14 @@ i0.ɵɵngDeclareClassMetadata({
718
758
  headerPosition: [{
719
759
  type: Input
720
760
  }],
761
+ headerPrefix: [{
762
+ type: i0.Input,
763
+ args: [{
764
+ isSignal: true,
765
+ alias: "headerPrefix",
766
+ required: false
767
+ }]
768
+ }],
721
769
  animationDuration: [{
722
770
  type: Input
723
771
  }]
@@ -727,7 +775,7 @@ i0.ɵɵngDeclareClassMetadata({
727
775
  class MatStepperNext extends CdkStepperNext {
728
776
  static ɵfac = i0.ɵɵngDeclareFactory({
729
777
  minVersion: "12.0.0",
730
- version: "20.2.0-next.2",
778
+ version: "21.0.0",
731
779
  ngImport: i0,
732
780
  type: MatStepperNext,
733
781
  deps: null,
@@ -735,7 +783,7 @@ class MatStepperNext extends CdkStepperNext {
735
783
  });
736
784
  static ɵdir = i0.ɵɵngDeclareDirective({
737
785
  minVersion: "14.0.0",
738
- version: "20.2.0-next.2",
786
+ version: "21.0.0",
739
787
  type: MatStepperNext,
740
788
  isStandalone: true,
741
789
  selector: "button[matStepperNext]",
@@ -751,7 +799,7 @@ class MatStepperNext extends CdkStepperNext {
751
799
  }
752
800
  i0.ɵɵngDeclareClassMetadata({
753
801
  minVersion: "12.0.0",
754
- version: "20.2.0-next.2",
802
+ version: "21.0.0",
755
803
  ngImport: i0,
756
804
  type: MatStepperNext,
757
805
  decorators: [{
@@ -768,7 +816,7 @@ i0.ɵɵngDeclareClassMetadata({
768
816
  class MatStepperPrevious extends CdkStepperPrevious {
769
817
  static ɵfac = i0.ɵɵngDeclareFactory({
770
818
  minVersion: "12.0.0",
771
- version: "20.2.0-next.2",
819
+ version: "21.0.0",
772
820
  ngImport: i0,
773
821
  type: MatStepperPrevious,
774
822
  deps: null,
@@ -776,7 +824,7 @@ class MatStepperPrevious extends CdkStepperPrevious {
776
824
  });
777
825
  static ɵdir = i0.ɵɵngDeclareDirective({
778
826
  minVersion: "14.0.0",
779
- version: "20.2.0-next.2",
827
+ version: "21.0.0",
780
828
  type: MatStepperPrevious,
781
829
  isStandalone: true,
782
830
  selector: "button[matStepperPrevious]",
@@ -792,7 +840,7 @@ class MatStepperPrevious extends CdkStepperPrevious {
792
840
  }
793
841
  i0.ɵɵngDeclareClassMetadata({
794
842
  minVersion: "12.0.0",
795
- version: "20.2.0-next.2",
843
+ version: "21.0.0",
796
844
  ngImport: i0,
797
845
  type: MatStepperPrevious,
798
846
  decorators: [{
@@ -810,7 +858,7 @@ i0.ɵɵngDeclareClassMetadata({
810
858
  class MatStepperModule {
811
859
  static ɵfac = i0.ɵɵngDeclareFactory({
812
860
  minVersion: "12.0.0",
813
- version: "20.2.0-next.2",
861
+ version: "21.0.0",
814
862
  ngImport: i0,
815
863
  type: MatStepperModule,
816
864
  deps: [],
@@ -818,7 +866,7 @@ class MatStepperModule {
818
866
  });
819
867
  static ɵmod = i0.ɵɵngDeclareNgModule({
820
868
  minVersion: "14.0.0",
821
- version: "20.2.0-next.2",
869
+ version: "21.0.0",
822
870
  ngImport: i0,
823
871
  type: MatStepperModule,
824
872
  imports: [PortalModule, CdkStepperModule, MatIconModule, MatRippleModule, MatStep, MatStepLabel, MatStepper, MatStepperNext, MatStepperPrevious, MatStepHeader, MatStepperIcon, MatStepContent],
@@ -826,7 +874,7 @@ class MatStepperModule {
826
874
  });
827
875
  static ɵinj = i0.ɵɵngDeclareInjector({
828
876
  minVersion: "12.0.0",
829
- version: "20.2.0-next.2",
877
+ version: "21.0.0",
830
878
  ngImport: i0,
831
879
  type: MatStepperModule,
832
880
  providers: [ErrorStateMatcher],
@@ -835,7 +883,7 @@ class MatStepperModule {
835
883
  }
836
884
  i0.ɵɵngDeclareClassMetadata({
837
885
  minVersion: "12.0.0",
838
- version: "20.2.0-next.2",
886
+ version: "21.0.0",
839
887
  ngImport: i0,
840
888
  type: MatStepperModule,
841
889
  decorators: [{