@angular/material 20.1.2 → 20.1.4

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 (192) hide show
  1. package/core/index.d.ts +6 -1
  2. package/core/tokens/m2/_md-sys-color.scss +64 -73
  3. package/core/tokens/m2/_md-sys-elevation.scss +6 -12
  4. package/core/tokens/m2/_md-sys-motion.scss +26 -32
  5. package/core/tokens/m2/_md-sys-shape.scss +12 -18
  6. package/core/tokens/m2/_md-sys-state.scss +1 -8
  7. package/core/tokens/m3/_md-sys-color.scss +0 -12
  8. package/{date-range-input-harness.d-CJ4r85Uf.d.ts → date-range-input-harness.d-D9G3xNDV.d.ts} +4 -2
  9. package/datepicker/_m3-datepicker.scss +1 -4
  10. package/datepicker/testing/index.d.ts +2 -2
  11. package/fesm2022/{animation-DfMFjxHu.mjs → animation-ChQ1vjiF.mjs} +15 -7
  12. package/fesm2022/animation-ChQ1vjiF.mjs.map +1 -0
  13. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  14. package/fesm2022/autocomplete.mjs +9 -9
  15. package/fesm2022/autocomplete.mjs.map +1 -1
  16. package/fesm2022/badge/testing.mjs.map +1 -1
  17. package/fesm2022/badge.mjs +1 -1
  18. package/fesm2022/badge.mjs.map +1 -1
  19. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  20. package/fesm2022/bottom-sheet.mjs +1 -1
  21. package/fesm2022/bottom-sheet.mjs.map +1 -1
  22. package/fesm2022/button/testing.mjs.map +1 -1
  23. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  24. package/fesm2022/button-toggle.mjs +4 -4
  25. package/fesm2022/button-toggle.mjs.map +1 -1
  26. package/fesm2022/button.mjs +6 -6
  27. package/fesm2022/button.mjs.map +1 -1
  28. package/fesm2022/card/testing.mjs.map +1 -1
  29. package/fesm2022/card.mjs.map +1 -1
  30. package/fesm2022/checkbox/testing.mjs.map +1 -1
  31. package/fesm2022/checkbox.mjs +2 -2
  32. package/fesm2022/checkbox.mjs.map +1 -1
  33. package/fesm2022/chips/testing.mjs.map +1 -1
  34. package/fesm2022/chips.mjs +5 -5
  35. package/fesm2022/chips.mjs.map +1 -1
  36. package/fesm2022/common-module-cKSwHniA.mjs.map +1 -1
  37. package/fesm2022/core/testing.mjs.map +1 -1
  38. package/fesm2022/core.mjs +9 -9
  39. package/fesm2022/core.mjs.map +1 -1
  40. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
  41. package/fesm2022/{date-range-input-harness-DEyfkeOs.mjs → date-range-input-harness-BZyjpIJH.mjs} +16 -10
  42. package/fesm2022/date-range-input-harness-BZyjpIJH.mjs.map +1 -0
  43. package/fesm2022/datepicker/testing.mjs +2 -2
  44. package/fesm2022/datepicker/testing.mjs.map +1 -1
  45. package/fesm2022/datepicker.mjs +22 -18
  46. package/fesm2022/datepicker.mjs.map +1 -1
  47. package/fesm2022/dialog/testing.mjs +2 -2
  48. package/fesm2022/dialog/testing.mjs.map +1 -1
  49. package/fesm2022/dialog.mjs +2 -2
  50. package/fesm2022/dialog.mjs.map +1 -1
  51. package/fesm2022/divider/testing.mjs.map +1 -1
  52. package/fesm2022/divider.mjs.map +1 -1
  53. package/fesm2022/error-options-DCNQlTOA.mjs.map +1 -1
  54. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
  55. package/fesm2022/expansion/testing.mjs.map +1 -1
  56. package/fesm2022/expansion.mjs +1 -1
  57. package/fesm2022/expansion.mjs.map +1 -1
  58. package/fesm2022/form-field/testing/control.mjs +13 -8
  59. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  60. package/fesm2022/form-field/testing.mjs +1 -1
  61. package/fesm2022/form-field/testing.mjs.map +1 -1
  62. package/fesm2022/{form-field-CFbrnFED.mjs → form-field-D9B5IUZf.mjs} +9 -8
  63. package/fesm2022/form-field-D9B5IUZf.mjs.map +1 -0
  64. package/fesm2022/form-field.mjs +3 -3
  65. package/fesm2022/form-field.mjs.map +1 -1
  66. package/fesm2022/grid-list/testing.mjs.map +1 -1
  67. package/fesm2022/grid-list.mjs.map +1 -1
  68. package/fesm2022/icon/testing.mjs.map +1 -1
  69. package/fesm2022/{icon-button-DxiIc1ex.mjs → icon-button-Qqf7bl_c.mjs} +3 -3
  70. package/fesm2022/icon-button-Qqf7bl_c.mjs.map +1 -0
  71. package/fesm2022/icon-registry-CwOTJ7YM.mjs.map +1 -1
  72. package/fesm2022/icon.mjs.map +1 -1
  73. package/fesm2022/{index-BFRo2fUq.mjs → index-BRImSAOu.mjs} +2 -2
  74. package/fesm2022/index-BRImSAOu.mjs.map +1 -0
  75. package/fesm2022/{index-DwiL-HGk.mjs → index-ZUoC96yG.mjs} +4 -4
  76. package/fesm2022/index-ZUoC96yG.mjs.map +1 -0
  77. package/fesm2022/input/testing.mjs.map +1 -1
  78. package/fesm2022/input-harness-C5Msdc4-.mjs.map +1 -1
  79. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
  80. package/fesm2022/input.mjs +4 -4
  81. package/fesm2022/input.mjs.map +1 -1
  82. package/fesm2022/internal-form-field-D5iFxU6d.mjs.map +1 -1
  83. package/fesm2022/line-Bz5f9Cyx.mjs.map +1 -1
  84. package/fesm2022/list/testing.mjs.map +1 -1
  85. package/fesm2022/list.mjs +7 -7
  86. package/fesm2022/list.mjs.map +1 -1
  87. package/fesm2022/material.mjs.map +1 -1
  88. package/fesm2022/menu/testing.mjs.map +1 -1
  89. package/fesm2022/menu.mjs +3 -3
  90. package/fesm2022/menu.mjs.map +1 -1
  91. package/fesm2022/{module-Ce6F7TNm.mjs → module-Cz4ZB2Wr.mjs} +2 -2
  92. package/fesm2022/module-Cz4ZB2Wr.mjs.map +1 -0
  93. package/fesm2022/{module-B0CLRw5e.mjs → module-DG8Yn3Vr.mjs} +6 -6
  94. package/fesm2022/module-DG8Yn3Vr.mjs.map +1 -0
  95. package/fesm2022/{module-CWxMD37a.mjs → module-DVPFZEhf.mjs} +2 -2
  96. package/fesm2022/module-DVPFZEhf.mjs.map +1 -0
  97. package/fesm2022/{module-B62K-792.mjs → module-Dj5gfeAg.mjs} +2 -2
  98. package/fesm2022/module-Dj5gfeAg.mjs.map +1 -0
  99. package/fesm2022/{option-BzhYL_xC.mjs → option-CEIjUDzj.mjs} +3 -3
  100. package/fesm2022/option-CEIjUDzj.mjs.map +1 -0
  101. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
  102. package/fesm2022/paginator/testing.mjs.map +1 -1
  103. package/fesm2022/paginator.mjs +13 -13
  104. package/fesm2022/paginator.mjs.map +1 -1
  105. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  106. package/fesm2022/progress-bar.mjs +9 -4
  107. package/fesm2022/progress-bar.mjs.map +1 -1
  108. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  109. package/fesm2022/progress-spinner.mjs +11 -8
  110. package/fesm2022/progress-spinner.mjs.map +1 -1
  111. package/fesm2022/{pseudo-checkbox-DDmgx3P4.mjs → pseudo-checkbox-AUVlNJs_.mjs} +2 -2
  112. package/fesm2022/pseudo-checkbox-AUVlNJs_.mjs.map +1 -0
  113. package/fesm2022/{pseudo-checkbox-module-4F8Up4PL.mjs → pseudo-checkbox-module-BymSaWBn.mjs} +2 -2
  114. package/fesm2022/pseudo-checkbox-module-BymSaWBn.mjs.map +1 -0
  115. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
  116. package/fesm2022/radio/testing.mjs.map +1 -1
  117. package/fesm2022/radio.mjs +5 -5
  118. package/fesm2022/radio.mjs.map +1 -1
  119. package/fesm2022/{ripple-BYgV4oZC.mjs → ripple-BMyyyLz2.mjs} +2 -2
  120. package/fesm2022/ripple-BMyyyLz2.mjs.map +1 -0
  121. package/fesm2022/{ripple-loader-BnMiRtmT.mjs → ripple-loader-wNDzC_j6.mjs} +3 -3
  122. package/fesm2022/ripple-loader-wNDzC_j6.mjs.map +1 -0
  123. package/fesm2022/select/testing.mjs.map +1 -1
  124. package/fesm2022/select.mjs +10 -10
  125. package/fesm2022/select.mjs.map +1 -1
  126. package/fesm2022/sidenav/testing.mjs.map +1 -1
  127. package/fesm2022/sidenav.mjs +1 -1
  128. package/fesm2022/sidenav.mjs.map +1 -1
  129. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  130. package/fesm2022/slide-toggle.mjs +2 -2
  131. package/fesm2022/slide-toggle.mjs.map +1 -1
  132. package/fesm2022/slider/testing.mjs.map +1 -1
  133. package/fesm2022/slider.mjs +14 -4
  134. package/fesm2022/slider.mjs.map +1 -1
  135. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  136. package/fesm2022/snack-bar.mjs +5 -5
  137. package/fesm2022/snack-bar.mjs.map +1 -1
  138. package/fesm2022/sort/testing.mjs.map +1 -1
  139. package/fesm2022/sort.mjs +1 -1
  140. package/fesm2022/sort.mjs.map +1 -1
  141. package/fesm2022/stepper/testing.mjs.map +1 -1
  142. package/fesm2022/stepper.mjs +3 -3
  143. package/fesm2022/stepper.mjs.map +1 -1
  144. package/fesm2022/structural-styles-CObeNzjn.mjs.map +1 -1
  145. package/fesm2022/table/testing.mjs.map +1 -1
  146. package/fesm2022/table.mjs.map +1 -1
  147. package/fesm2022/tabs/testing.mjs.map +1 -1
  148. package/fesm2022/tabs.mjs +2 -2
  149. package/fesm2022/tabs.mjs.map +1 -1
  150. package/fesm2022/timepicker/testing.mjs.map +1 -1
  151. package/fesm2022/timepicker.mjs +7 -7
  152. package/fesm2022/timepicker.mjs.map +1 -1
  153. package/fesm2022/toolbar/testing.mjs.map +1 -1
  154. package/fesm2022/toolbar.mjs.map +1 -1
  155. package/fesm2022/tooltip/testing.mjs.map +1 -1
  156. package/fesm2022/tooltip.mjs +2 -2
  157. package/fesm2022/tooltip.mjs.map +1 -1
  158. package/fesm2022/tree/testing.mjs.map +1 -1
  159. package/fesm2022/tree.mjs.map +1 -1
  160. package/form-field/index.d.ts +2 -2
  161. package/form-field/testing/control/index.d.ts +1 -1
  162. package/form-field/testing/index.d.ts +2 -2
  163. package/{form-field-control-harness.d-BLvFBy6v.d.ts → form-field-control-harness.d-BXb3NofW.d.ts} +4 -2
  164. package/input/index.d.ts +4 -4
  165. package/input/testing/index.d.ts +1 -1
  166. package/{module.d-D1Ym5Wf2.d.ts → module.d-DZ2PGGPh.d.ts} +1 -1
  167. package/{module.d-bebo7gS5.d.ts → module.d-gWBlTHnh.d.ts} +2 -2
  168. package/package.json +2 -2
  169. package/paginator/index.d.ts +5 -5
  170. package/{paginator.d-DuJ-oYgT.d.ts → paginator.d-Zo1cMMo4.d.ts} +1 -1
  171. package/schematics/ng-add/index.js +1 -1
  172. package/schematics/ng-add/theming/create-custom-theme.js +7 -1
  173. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -1
  174. package/select/index.d.ts +3 -3
  175. package/slider/index.d.ts +3 -1
  176. package/table/index.d.ts +2 -2
  177. package/fesm2022/animation-DfMFjxHu.mjs.map +0 -1
  178. package/fesm2022/date-range-input-harness-DEyfkeOs.mjs.map +0 -1
  179. package/fesm2022/form-field-CFbrnFED.mjs.map +0 -1
  180. package/fesm2022/icon-button-DxiIc1ex.mjs.map +0 -1
  181. package/fesm2022/index-BFRo2fUq.mjs.map +0 -1
  182. package/fesm2022/index-DwiL-HGk.mjs.map +0 -1
  183. package/fesm2022/module-B0CLRw5e.mjs.map +0 -1
  184. package/fesm2022/module-B62K-792.mjs.map +0 -1
  185. package/fesm2022/module-CWxMD37a.mjs.map +0 -1
  186. package/fesm2022/module-Ce6F7TNm.mjs.map +0 -1
  187. package/fesm2022/option-BzhYL_xC.mjs.map +0 -1
  188. package/fesm2022/pseudo-checkbox-DDmgx3P4.mjs.map +0 -1
  189. package/fesm2022/pseudo-checkbox-module-4F8Up4PL.mjs.map +0 -1
  190. package/fesm2022/ripple-BYgV4oZC.mjs.map +0 -1
  191. package/fesm2022/ripple-loader-BnMiRtmT.mjs.map +0 -1
  192. package/{form-field.d-C6p5uYjG.d.ts → form-field.d-e195lFUo.d.ts} +1 -1
@@ -14,18 +14,18 @@ import { NgClass } from '@angular/common';
14
14
  import { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';
15
15
  import { _ as _StructuralStylesLoader } from './structural-styles-CObeNzjn.mjs';
16
16
  import { MatButton, MatButtonModule } from './button.mjs';
17
- import { M as MatIconButton } from './icon-button-DxiIc1ex.mjs';
18
- import { _ as _animationsDisabled } from './animation-DfMFjxHu.mjs';
17
+ import { M as MatIconButton } from './icon-button-Qqf7bl_c.mjs';
18
+ import { _ as _animationsDisabled } from './animation-ChQ1vjiF.mjs';
19
19
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, ControlContainer, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
20
20
  import { M as MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor-D1GvPuqO.mjs';
21
- import { h as MAT_FORM_FIELD, k as MatFormFieldControl } from './form-field-CFbrnFED.mjs';
21
+ import { h as MAT_FORM_FIELD, k as MatFormFieldControl } from './form-field-D9B5IUZf.mjs';
22
22
  import { E as ErrorStateMatcher } from './error-options-DCNQlTOA.mjs';
23
23
  import { _ as _ErrorStateTracker } from './error-state-Dtb1IHM-.mjs';
24
24
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
25
25
  import { M as MatCommonModule } from './common-module-cKSwHniA.mjs';
26
- import './index-BFRo2fUq.mjs';
27
- import './ripple-BYgV4oZC.mjs';
28
- import './ripple-loader-BnMiRtmT.mjs';
26
+ import './index-BRImSAOu.mjs';
27
+ import './ripple-BMyyyLz2.mjs';
28
+ import './ripple-loader-wNDzC_j6.mjs';
29
29
  import '@angular/cdk/layout';
30
30
  import '@angular/cdk/observers/private';
31
31
 
@@ -2102,17 +2102,21 @@ class MatCalendarHeader {
2102
2102
  }
2103
2103
  /** Handles user clicks on the previous button. */
2104
2104
  previousClicked() {
2105
- this.calendar.activeDate =
2106
- this.calendar.currentView == 'month'
2107
- ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)
2108
- : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage);
2105
+ if (this.previousEnabled()) {
2106
+ this.calendar.activeDate =
2107
+ this.calendar.currentView == 'month'
2108
+ ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)
2109
+ : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage);
2110
+ }
2109
2111
  }
2110
2112
  /** Handles user clicks on the next button. */
2111
2113
  nextClicked() {
2112
- this.calendar.activeDate =
2113
- this.calendar.currentView == 'month'
2114
- ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, 1)
2115
- : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage);
2114
+ if (this.nextEnabled()) {
2115
+ this.calendar.activeDate =
2116
+ this.calendar.currentView == 'month'
2117
+ ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, 1)
2118
+ : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage);
2119
+ }
2116
2120
  }
2117
2121
  /** Whether the previous period button is enabled. */
2118
2122
  previousEnabled() {
@@ -2189,11 +2193,11 @@ class MatCalendarHeader {
2189
2193
  }
2190
2194
  _periodButtonLabelId = inject(_IdGenerator).getId('mat-calendar-period-label-');
2191
2195
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: MatCalendarHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
2192
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: MatCalendarHeader, isStandalone: true, selector: "mat-calendar-header", exportAs: ["matCalendarHeader"], ngImport: i0, template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <!-- [Firefox Issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1880533]\n Relocated label next to related button and made visually hidden via cdk-visually-hidden\n to enable label to appear in a11y tree for SR when using Firefox -->\n <span [id]=\"_periodButtonLabelId\" class=\"cdk-visually-hidden\" aria-live=\"polite\">{{periodButtonDescription}}</span>\n <button matButton type=\"button\" class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\" [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\">\n <span aria-hidden=\"true\">{{periodButtonText}}</span>\n <svg class=\"mat-calendar-arrow\" [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\" focusable=\"false\" aria-hidden=\"true\">\n <polygon points=\"0,0 5,5 10,0\"/>\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\" (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\">\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\" (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\">\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: MatCalendarHeader, isStandalone: true, selector: "mat-calendar-header", exportAs: ["matCalendarHeader"], ngImport: i0, template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <!-- [Firefox Issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1880533]\n Relocated label next to related button and made visually hidden via cdk-visually-hidden\n to enable label to appear in a11y tree for SR when using Firefox -->\n <span [id]=\"_periodButtonLabelId\" class=\"cdk-visually-hidden\" aria-live=\"polite\">{{periodButtonDescription}}</span>\n <button matButton type=\"button\" class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\" [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\">\n <span aria-hidden=\"true\">{{periodButtonText}}</span>\n <svg class=\"mat-calendar-arrow\" [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\" focusable=\"false\" aria-hidden=\"true\">\n <polygon points=\"0,0 5,5 10,0\"/>\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\" (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\" disabledInteractive>\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\" (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\" disabledInteractive>\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2193
2197
  }
2194
2198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: MatCalendarHeader, decorators: [{
2195
2199
  type: Component,
2196
- args: [{ selector: 'mat-calendar-header', exportAs: 'matCalendarHeader', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, MatIconButton], template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <!-- [Firefox Issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1880533]\n Relocated label next to related button and made visually hidden via cdk-visually-hidden\n to enable label to appear in a11y tree for SR when using Firefox -->\n <span [id]=\"_periodButtonLabelId\" class=\"cdk-visually-hidden\" aria-live=\"polite\">{{periodButtonDescription}}</span>\n <button matButton type=\"button\" class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\" [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\">\n <span aria-hidden=\"true\">{{periodButtonText}}</span>\n <svg class=\"mat-calendar-arrow\" [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\" focusable=\"false\" aria-hidden=\"true\">\n <polygon points=\"0,0 5,5 10,0\"/>\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\" (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\">\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\" (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\">\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n </div>\n</div>\n" }]
2200
+ args: [{ selector: 'mat-calendar-header', exportAs: 'matCalendarHeader', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, MatIconButton], template: "<div class=\"mat-calendar-header\">\n <div class=\"mat-calendar-controls\">\n <!-- [Firefox Issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1880533]\n Relocated label next to related button and made visually hidden via cdk-visually-hidden\n to enable label to appear in a11y tree for SR when using Firefox -->\n <span [id]=\"_periodButtonLabelId\" class=\"cdk-visually-hidden\" aria-live=\"polite\">{{periodButtonDescription}}</span>\n <button matButton type=\"button\" class=\"mat-calendar-period-button\"\n (click)=\"currentPeriodClicked()\" [attr.aria-label]=\"periodButtonLabel\"\n [attr.aria-describedby]=\"_periodButtonLabelId\">\n <span aria-hidden=\"true\">{{periodButtonText}}</span>\n <svg class=\"mat-calendar-arrow\" [class.mat-calendar-invert]=\"calendar.currentView !== 'month'\"\n viewBox=\"0 0 10 5\" focusable=\"false\" aria-hidden=\"true\">\n <polygon points=\"0,0 5,5 10,0\"/>\n </svg>\n </button>\n\n <div class=\"mat-calendar-spacer\"></div>\n\n <ng-content></ng-content>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-previous-button\"\n [disabled]=\"!previousEnabled()\" (click)=\"previousClicked()\"\n [attr.aria-label]=\"prevButtonLabel\" disabledInteractive>\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n\n <button matIconButton type=\"button\" class=\"mat-calendar-next-button\"\n [disabled]=\"!nextEnabled()\" (click)=\"nextClicked()\"\n [attr.aria-label]=\"nextButtonLabel\" disabledInteractive>\n <svg viewBox=\"0 0 24 24\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n </div>\n</div>\n" }]
2197
2201
  }], ctorParameters: () => [] });
2198
2202
  /** A calendar that is used as part of the datepicker. */
2199
2203
  class MatCalendar {
@@ -3720,7 +3724,7 @@ class MatDatepickerToggle {
3720
3724
  this._stateChanges = merge(this._intl.changes, datepickerStateChanged, inputStateChanged, datepickerToggled).subscribe(() => this._changeDetectorRef.markForCheck());
3721
3725
  }
3722
3726
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: MatDatepickerToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
3723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: MatDatepickerToggle, isStandalone: true, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: ["disabled", "disabled", booleanAttribute], disableRipple: "disableRipple" }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null", "class.mat-datepicker-toggle-active": "datepicker && datepicker.opened", "class.mat-accent": "datepicker && datepicker.color === \"accent\"", "class.mat-warn": "datepicker && datepicker.color === \"warn\"", "attr.data-mat-calendar": "datepicker ? datepicker.id : null" }, classAttribute: "mat-datepicker-toggle" }, queries: [{ propertyName: "_customIcon", first: true, predicate: MatDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "_button", first: true, predicate: ["button"], descendants: true }], exportAs: ["matDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<button\n #button\n matIconButton\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: MatDatepickerToggle, isStandalone: true, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: ["disabled", "disabled", booleanAttribute], disableRipple: "disableRipple" }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null", "class.mat-datepicker-toggle-active": "datepicker && datepicker.opened", "class.mat-accent": "datepicker && datepicker.color === \"accent\"", "class.mat-warn": "datepicker && datepicker.color === \"warn\"", "attr.data-mat-calendar": "datepicker ? datepicker.id : null" }, classAttribute: "mat-datepicker-toggle" }, queries: [{ propertyName: "_customIcon", first: true, predicate: MatDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "_button", first: true, predicate: ["button"], descendants: true }], exportAs: ["matDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<button\n #button\n matIconButton\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle button{color:inherit}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}\n"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3724
3728
  }
3725
3729
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: MatDatepickerToggle, decorators: [{
3726
3730
  type: Component,
@@ -3736,7 +3740,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
3736
3740
  // `stopPropagation` on it without affecting the user's `click` handlers. We need to stop
3737
3741
  // it so that the input doesn't get focused automatically by the form field (See #21836).
3738
3742
  '(click)': '_open($event)',
3739
- }, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIconButton], template: "<button\n #button\n matIconButton\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}\n"] }]
3743
+ }, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIconButton], template: "<button\n #button\n matIconButton\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle button{color:inherit}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}\n"] }]
3740
3744
  }], ctorParameters: () => [], propDecorators: { datepicker: [{
3741
3745
  type: Input,
3742
3746
  args: ['for']