@angular/material 22.2.0-rc.0 → 22.2.1

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/_form-field-chunk.mjs +95 -52
  3. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  4. package/fesm2022/_icon-button-chunk.mjs +6 -6
  5. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  7. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  8. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  9. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  10. package/fesm2022/_line-chunk.mjs +7 -7
  11. package/fesm2022/_line-chunk.mjs.map +1 -1
  12. package/fesm2022/_option-chunk.mjs +6 -6
  13. package/fesm2022/_option-chunk.mjs.map +1 -1
  14. package/fesm2022/_option-module-chunk.mjs +4 -4
  15. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  16. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  17. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  18. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  19. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  20. package/fesm2022/_ripple-chunk.mjs +6 -6
  21. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  22. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  23. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  24. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  25. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  26. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  27. package/fesm2022/_tooltip-chunk.mjs +6 -6
  28. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  29. package/fesm2022/autocomplete.mjs +22 -16
  30. package/fesm2022/autocomplete.mjs.map +1 -1
  31. package/fesm2022/badge.mjs +10 -10
  32. package/fesm2022/badge.mjs.map +1 -1
  33. package/fesm2022/bottom-sheet.mjs +10 -10
  34. package/fesm2022/bottom-sheet.mjs.map +1 -1
  35. package/fesm2022/button-toggle.mjs +10 -10
  36. package/fesm2022/button-toggle.mjs.map +1 -1
  37. package/fesm2022/button.mjs +13 -13
  38. package/fesm2022/button.mjs.map +1 -1
  39. package/fesm2022/card.mjs +46 -46
  40. package/fesm2022/card.mjs.map +1 -1
  41. package/fesm2022/checkbox.mjs +7 -7
  42. package/fesm2022/checkbox.mjs.map +1 -1
  43. package/fesm2022/chips.mjs +46 -46
  44. package/fesm2022/chips.mjs.map +1 -1
  45. package/fesm2022/core.mjs +12 -12
  46. package/fesm2022/core.mjs.map +1 -1
  47. package/fesm2022/datepicker.mjs +82 -82
  48. package/fesm2022/datepicker.mjs.map +1 -1
  49. package/fesm2022/dialog.mjs +25 -25
  50. package/fesm2022/dialog.mjs.map +1 -1
  51. package/fesm2022/divider.mjs +7 -7
  52. package/fesm2022/divider.mjs.map +1 -1
  53. package/fesm2022/expansion.mjs +25 -25
  54. package/fesm2022/expansion.mjs.map +1 -1
  55. package/fesm2022/form-field.mjs +5 -4
  56. package/fesm2022/form-field.mjs.map +1 -1
  57. package/fesm2022/grid-list.mjs +22 -22
  58. package/fesm2022/grid-list.mjs.map +1 -1
  59. package/fesm2022/icon-testing.mjs +7 -7
  60. package/fesm2022/icon.mjs +9 -8
  61. package/fesm2022/icon.mjs.map +1 -1
  62. package/fesm2022/input.mjs +7 -7
  63. package/fesm2022/input.mjs.map +1 -1
  64. package/fesm2022/list.mjs +49 -49
  65. package/fesm2022/list.mjs.map +1 -1
  66. package/fesm2022/menu.mjs +22 -22
  67. package/fesm2022/menu.mjs.map +1 -1
  68. package/fesm2022/paginator.mjs +11 -11
  69. package/fesm2022/paginator.mjs.map +1 -1
  70. package/fesm2022/progress-bar.mjs +7 -7
  71. package/fesm2022/progress-bar.mjs.map +1 -1
  72. package/fesm2022/progress-spinner.mjs +7 -7
  73. package/fesm2022/progress-spinner.mjs.map +1 -1
  74. package/fesm2022/radio.mjs +10 -10
  75. package/fesm2022/radio.mjs.map +1 -1
  76. package/fesm2022/select.mjs +12 -12
  77. package/fesm2022/select.mjs.map +1 -1
  78. package/fesm2022/sidenav.mjs +22 -22
  79. package/fesm2022/sidenav.mjs.map +1 -1
  80. package/fesm2022/slide-toggle.mjs +7 -7
  81. package/fesm2022/slide-toggle.mjs.map +1 -1
  82. package/fesm2022/slider.mjs +16 -16
  83. package/fesm2022/slider.mjs.map +1 -1
  84. package/fesm2022/snack-bar.mjs +22 -22
  85. package/fesm2022/snack-bar.mjs.map +1 -1
  86. package/fesm2022/sort.mjs +13 -13
  87. package/fesm2022/sort.mjs.map +1 -1
  88. package/fesm2022/stepper.mjs +31 -31
  89. package/fesm2022/stepper.mjs.map +1 -1
  90. package/fesm2022/table.mjs +55 -55
  91. package/fesm2022/table.mjs.map +1 -1
  92. package/fesm2022/tabs.mjs +44 -44
  93. package/fesm2022/tabs.mjs.map +1 -1
  94. package/fesm2022/timepicker.mjs +14 -13
  95. package/fesm2022/timepicker.mjs.map +1 -1
  96. package/fesm2022/toolbar.mjs +10 -10
  97. package/fesm2022/toolbar.mjs.map +1 -1
  98. package/fesm2022/tooltip.mjs +4 -4
  99. package/fesm2022/tooltip.mjs.map +1 -1
  100. package/fesm2022/tree.mjs +25 -25
  101. package/fesm2022/tree.mjs.map +1 -1
  102. package/package.json +6 -6
  103. package/schematics/ng-add/index.js +2 -2
  104. package/types/_dialog-chunk.d.ts +3 -7
  105. package/types/_form-field-chunk.d.ts +6 -6
  106. package/types/_form-field-control-chunk.d.ts +23 -18
  107. package/types/bottom-sheet.d.ts +3 -7
  108. package/types/form-field.d.ts +2 -1
  109. package/types/table.d.ts +2 -1
@@ -18,7 +18,7 @@ import './_animation-chunk.mjs';
18
18
  class MatTooltipModule {
19
19
  static ɵfac = i0.ɵɵngDeclareFactory({
20
20
  minVersion: "12.0.0",
21
- version: "22.2.0-next.7",
21
+ version: "22.2.0",
22
22
  ngImport: i0,
23
23
  type: MatTooltipModule,
24
24
  deps: [],
@@ -26,7 +26,7 @@ class MatTooltipModule {
26
26
  });
27
27
  static ɵmod = i0.ɵɵngDeclareNgModule({
28
28
  minVersion: "14.0.0",
29
- version: "22.2.0-next.7",
29
+ version: "22.2.0",
30
30
  ngImport: i0,
31
31
  type: MatTooltipModule,
32
32
  imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],
@@ -34,7 +34,7 @@ class MatTooltipModule {
34
34
  });
35
35
  static ɵinj = i0.ɵɵngDeclareInjector({
36
36
  minVersion: "12.0.0",
37
- version: "22.2.0-next.7",
37
+ version: "22.2.0",
38
38
  ngImport: i0,
39
39
  type: MatTooltipModule,
40
40
  imports: [A11yModule, OverlayModule, BidiModule, CdkScrollableModule]
@@ -42,7 +42,7 @@ class MatTooltipModule {
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({
44
44
  minVersion: "12.0.0",
45
- version: "22.2.0-next.7",
45
+ version: "22.2.0",
46
46
  ngImport: i0,
47
47
  type: MatTooltipModule,
48
48
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tooltip/tooltip-module.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\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MatTooltip, TooltipComponent} from './tooltip';\n\n@NgModule({\n imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],\n exports: [MatTooltip, TooltipComponent, BidiModule, CdkScrollableModule],\n})\nexport class MatTooltipModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAmBa,gBAAgB,CAAA;;;;;UAAhB,gBAAgB;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;AAAhB,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,eAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,gBAAgB;IAAA,OAAA,EAAA,CAHjB,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAA;IAAA,OAAA,EAAA,CACvD,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;AAAA,GAAA,CAAA;AAE5D,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,eAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,gBAAgB;cAHjB,UAAU,EAAE,aAAa,EACK,UAAU,EAAE,mBAAmB;AAAA,GAAA,CAAA;;;;;;QAE5D,gBAAgB;AAAA,EAAA,UAAA,EAAA,CAAA;UAJ5B,QAAQ;AAAC,IAAA,IAAA,EAAA,CAAA;MACR,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC;MAClE,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;KACxE;;;;"}
1
+ {"version":3,"file":"tooltip.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tooltip/tooltip-module.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\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MatTooltip, TooltipComponent} from './tooltip';\n\n@NgModule({\n imports: [A11yModule, OverlayModule, MatTooltip, TooltipComponent],\n exports: [MatTooltip, TooltipComponent, BidiModule, CdkScrollableModule],\n})\nexport class MatTooltipModule {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;MAmBa,gBAAgB,CAAA;;;;;UAAhB,gBAAgB;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;AAAhB,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,QAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,gBAAgB;IAAA,OAAA,EAAA,CAHjB,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAA;IAAA,OAAA,EAAA,CACvD,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;AAAA,GAAA,CAAA;AAE5D,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,QAAA;AAAA,IAAA,QAAA,EAAA,EAAA;AAAA,IAAA,IAAA,EAAA,gBAAgB;cAHjB,UAAU,EAAE,aAAa,EACK,UAAU,EAAE,mBAAmB;AAAA,GAAA,CAAA;;;;;;QAE5D,gBAAgB;AAAA,EAAA,UAAA,EAAA,CAAA;UAJ5B,QAAQ;AAAC,IAAA,IAAA,EAAA,CAAA;MACR,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC;MAClE,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;KACxE;;;;"}
package/fesm2022/tree.mjs CHANGED
@@ -45,7 +45,7 @@ class MatTreeNode extends CdkTreeNode {
45
45
  }
46
46
  static ɵfac = i0.ɵɵngDeclareFactory({
47
47
  minVersion: "12.0.0",
48
- version: "22.2.0-next.7",
48
+ version: "22.2.0",
49
49
  ngImport: i0,
50
50
  type: MatTreeNode,
51
51
  deps: [],
@@ -53,7 +53,7 @@ class MatTreeNode extends CdkTreeNode {
53
53
  });
54
54
  static ɵdir = i0.ɵɵngDeclareDirective({
55
55
  minVersion: "16.1.0",
56
- version: "22.2.0-next.7",
56
+ version: "22.2.0",
57
57
  type: MatTreeNode,
58
58
  isStandalone: true,
59
59
  selector: "mat-tree-node",
@@ -89,7 +89,7 @@ class MatTreeNode extends CdkTreeNode {
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({
91
91
  minVersion: "12.0.0",
92
- version: "22.2.0-next.7",
92
+ version: "22.2.0",
93
93
  ngImport: i0,
94
94
  type: MatTreeNode,
95
95
  decorators: [{
@@ -134,7 +134,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
134
134
  data;
135
135
  static ɵfac = i0.ɵɵngDeclareFactory({
136
136
  minVersion: "12.0.0",
137
- version: "22.2.0-next.7",
137
+ version: "22.2.0",
138
138
  ngImport: i0,
139
139
  type: MatTreeNodeDef,
140
140
  deps: null,
@@ -142,7 +142,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
142
142
  });
143
143
  static ɵdir = i0.ɵɵngDeclareDirective({
144
144
  minVersion: "14.0.0",
145
- version: "22.2.0-next.7",
145
+ version: "22.2.0",
146
146
  type: MatTreeNodeDef,
147
147
  isStandalone: true,
148
148
  selector: "[matTreeNodeDef]",
@@ -160,7 +160,7 @@ class MatTreeNodeDef extends CdkTreeNodeDef {
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({
162
162
  minVersion: "12.0.0",
163
- version: "22.2.0-next.7",
163
+ version: "22.2.0",
164
164
  ngImport: i0,
165
165
  type: MatTreeNodeDef,
166
166
  decorators: [{
@@ -210,7 +210,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
210
210
  }
211
211
  static ɵfac = i0.ɵɵngDeclareFactory({
212
212
  minVersion: "12.0.0",
213
- version: "22.2.0-next.7",
213
+ version: "22.2.0",
214
214
  ngImport: i0,
215
215
  type: MatNestedTreeNode,
216
216
  deps: null,
@@ -218,7 +218,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
218
218
  });
219
219
  static ɵdir = i0.ɵɵngDeclareDirective({
220
220
  minVersion: "16.1.0",
221
- version: "22.2.0-next.7",
221
+ version: "22.2.0",
222
222
  type: MatNestedTreeNode,
223
223
  isStandalone: true,
224
224
  selector: "mat-nested-tree-node",
@@ -251,7 +251,7 @@ class MatNestedTreeNode extends CdkNestedTreeNode {
251
251
  }
252
252
  i0.ɵɵngDeclareClassMetadata({
253
253
  minVersion: "12.0.0",
254
- version: "22.2.0-next.7",
254
+ version: "22.2.0",
255
255
  ngImport: i0,
256
256
  type: MatNestedTreeNode,
257
257
  decorators: [{
@@ -310,7 +310,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
310
310
  }
311
311
  static ɵfac = i0.ɵɵngDeclareFactory({
312
312
  minVersion: "12.0.0",
313
- version: "22.2.0-next.7",
313
+ version: "22.2.0",
314
314
  ngImport: i0,
315
315
  type: MatTreeNodePadding,
316
316
  deps: null,
@@ -318,7 +318,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
318
318
  });
319
319
  static ɵdir = i0.ɵɵngDeclareDirective({
320
320
  minVersion: "16.1.0",
321
- version: "22.2.0-next.7",
321
+ version: "22.2.0",
322
322
  type: MatTreeNodePadding,
323
323
  isStandalone: true,
324
324
  selector: "[matTreeNodePadding]",
@@ -336,7 +336,7 @@ class MatTreeNodePadding extends CdkTreeNodePadding {
336
336
  }
337
337
  i0.ɵɵngDeclareClassMetadata({
338
338
  minVersion: "12.0.0",
339
- version: "22.2.0-next.7",
339
+ version: "22.2.0",
340
340
  ngImport: i0,
341
341
  type: MatTreeNodePadding,
342
342
  decorators: [{
@@ -371,7 +371,7 @@ class MatTreeNodeOutlet {
371
371
  });
372
372
  static ɵfac = i0.ɵɵngDeclareFactory({
373
373
  minVersion: "12.0.0",
374
- version: "22.2.0-next.7",
374
+ version: "22.2.0",
375
375
  ngImport: i0,
376
376
  type: MatTreeNodeOutlet,
377
377
  deps: [],
@@ -379,7 +379,7 @@ class MatTreeNodeOutlet {
379
379
  });
380
380
  static ɵdir = i0.ɵɵngDeclareDirective({
381
381
  minVersion: "14.0.0",
382
- version: "22.2.0-next.7",
382
+ version: "22.2.0",
383
383
  type: MatTreeNodeOutlet,
384
384
  isStandalone: true,
385
385
  selector: "[matTreeNodeOutlet]",
@@ -392,7 +392,7 @@ class MatTreeNodeOutlet {
392
392
  }
393
393
  i0.ɵɵngDeclareClassMetadata({
394
394
  minVersion: "12.0.0",
395
- version: "22.2.0-next.7",
395
+ version: "22.2.0",
396
396
  ngImport: i0,
397
397
  type: MatTreeNodeOutlet,
398
398
  decorators: [{
@@ -411,7 +411,7 @@ class MatTree extends CdkTree {
411
411
  _nodeOutlet = undefined;
412
412
  static ɵfac = i0.ɵɵngDeclareFactory({
413
413
  minVersion: "12.0.0",
414
- version: "22.2.0-next.7",
414
+ version: "22.2.0",
415
415
  ngImport: i0,
416
416
  type: MatTree,
417
417
  deps: null,
@@ -419,7 +419,7 @@ class MatTree extends CdkTree {
419
419
  });
420
420
  static ɵcmp = i0.ɵɵngDeclareComponent({
421
421
  minVersion: "14.0.0",
422
- version: "22.2.0-next.7",
422
+ version: "22.2.0",
423
423
  type: MatTree,
424
424
  isStandalone: true,
425
425
  selector: "mat-tree",
@@ -454,7 +454,7 @@ class MatTree extends CdkTree {
454
454
  }
455
455
  i0.ɵɵngDeclareClassMetadata({
456
456
  minVersion: "12.0.0",
457
- version: "22.2.0-next.7",
457
+ version: "22.2.0",
458
458
  ngImport: i0,
459
459
  type: MatTree,
460
460
  decorators: [{
@@ -489,7 +489,7 @@ i0.ɵɵngDeclareClassMetadata({
489
489
  class MatTreeNodeToggle extends CdkTreeNodeToggle {
490
490
  static ɵfac = i0.ɵɵngDeclareFactory({
491
491
  minVersion: "12.0.0",
492
- version: "22.2.0-next.7",
492
+ version: "22.2.0",
493
493
  ngImport: i0,
494
494
  type: MatTreeNodeToggle,
495
495
  deps: null,
@@ -497,7 +497,7 @@ class MatTreeNodeToggle extends CdkTreeNodeToggle {
497
497
  });
498
498
  static ɵdir = i0.ɵɵngDeclareDirective({
499
499
  minVersion: "14.0.0",
500
- version: "22.2.0-next.7",
500
+ version: "22.2.0",
501
501
  type: MatTreeNodeToggle,
502
502
  isStandalone: true,
503
503
  selector: "[matTreeNodeToggle]",
@@ -514,7 +514,7 @@ class MatTreeNodeToggle extends CdkTreeNodeToggle {
514
514
  }
515
515
  i0.ɵɵngDeclareClassMetadata({
516
516
  minVersion: "12.0.0",
517
- version: "22.2.0-next.7",
517
+ version: "22.2.0",
518
518
  ngImport: i0,
519
519
  type: MatTreeNodeToggle,
520
520
  decorators: [{
@@ -537,7 +537,7 @@ const MAT_TREE_DIRECTIVES = [MatNestedTreeNode, MatTreeNodeDef, MatTreeNodePaddi
537
537
  class MatTreeModule {
538
538
  static ɵfac = i0.ɵɵngDeclareFactory({
539
539
  minVersion: "12.0.0",
540
- version: "22.2.0-next.7",
540
+ version: "22.2.0",
541
541
  ngImport: i0,
542
542
  type: MatTreeModule,
543
543
  deps: [],
@@ -545,7 +545,7 @@ class MatTreeModule {
545
545
  });
546
546
  static ɵmod = i0.ɵɵngDeclareNgModule({
547
547
  minVersion: "14.0.0",
548
- version: "22.2.0-next.7",
548
+ version: "22.2.0",
549
549
  ngImport: i0,
550
550
  type: MatTreeModule,
551
551
  imports: [CdkTreeModule, MatNestedTreeNode, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeToggle, MatTree, MatTreeNode, MatTreeNodeOutlet],
@@ -553,7 +553,7 @@ class MatTreeModule {
553
553
  });
554
554
  static ɵinj = i0.ɵɵngDeclareInjector({
555
555
  minVersion: "12.0.0",
556
- version: "22.2.0-next.7",
556
+ version: "22.2.0",
557
557
  ngImport: i0,
558
558
  type: MatTreeModule,
559
559
  imports: [CdkTreeModule, BidiModule]
@@ -561,7 +561,7 @@ class MatTreeModule {
561
561
  }
562
562
  i0.ɵɵngDeclareClassMetadata({
563
563
  minVersion: "12.0.0",
564
- version: "22.2.0-next.7",
564
+ version: "22.2.0",
565
565
  ngImport: i0,
566
566
  type: MatTreeModule,
567
567
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.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\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding!: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute(): number | null {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data!: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node!: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex!: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.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\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding!: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute(): number | null {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data!: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node!: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex!: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\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 */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\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 */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\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 {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\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';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "22.2.0-rc.0",
3
+ "version": "22.2.1",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -353,11 +353,11 @@
353
353
  }
354
354
  },
355
355
  "peerDependencies": {
356
- "@angular/cdk": "22.2.0-rc.0",
357
- "@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
358
- "@angular/common": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
359
- "@angular/forms": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
360
- "@angular/platform-browser": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0",
356
+ "@angular/cdk": "22.2.1",
357
+ "@angular/core": "^22.0.0 || ^23.0.0",
358
+ "@angular/common": "^22.0.0 || ^23.0.0",
359
+ "@angular/forms": "^22.0.0 || ^23.0.0",
360
+ "@angular/platform-browser": "^22.0.0 || ^23.0.0",
361
361
  "rxjs": "^6.5.3 || ^7.4.0"
362
362
  },
363
363
  "dependencies": {
@@ -19,7 +19,7 @@ const package_config_1 = require("./package-config");
19
19
  * Note that the fallback version range does not use caret, but tilde because that is
20
20
  * the default for Angular framework dependencies in CLI projects.
21
21
  */
22
- const fallbackMaterialVersionRange = `~22.2.0-rc.0`;
22
+ const fallbackMaterialVersionRange = `~22.2.1`;
23
23
  /**
24
24
  * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
25
25
  * automatically executed if developers run `ng add @angular/material`.
@@ -34,7 +34,7 @@ function default_1(options) {
34
34
  // have the same version tag if possible.
35
35
  const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/core');
36
36
  const materialVersionRange = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
37
- const angularDependencyVersion = ngCoreVersionTag || `^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0`;
37
+ const angularDependencyVersion = ngCoreVersionTag || `^22.0.0 || ^23.0.0`;
38
38
  // The CLI inserts `@angular/material` into the `package.json` before this schematic runs.
39
39
  // This means that we do not need to insert Angular Material into `package.json` files again.
40
40
  // In some cases though, it could happen that this schematic runs outside of the CLI `ng add`
@@ -1,4 +1,4 @@
1
- import { ScrollStrategy, ComponentType } from '@angular/cdk/overlay';
1
+ import { ScrollStrategy, OverlayDisposeOnNavigation, ComponentType } from '@angular/cdk/overlay';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ViewContainerRef, Injector, Binding, OnDestroy, EventEmitter, ComponentRef, InjectionToken, TemplateRef } from '@angular/core';
4
4
  import { Direction } from '@angular/cdk/bidi';
@@ -94,12 +94,8 @@ declare class MatDialogConfig<D = any> {
94
94
  delayFocusTrap?: boolean;
95
95
  /** Scroll strategy to be used for the dialog. */
96
96
  scrollStrategy?: ScrollStrategy;
97
- /**
98
- * Whether the dialog should close when the user goes backwards/forwards in history.
99
- * Note that this usually doesn't include clicking on links (unless the user is using
100
- * the `HashLocationStrategy`).
101
- */
102
- closeOnNavigation?: boolean;
97
+ /** Whether the bottom sheet should be disposed of when the user navigates. */
98
+ closeOnNavigation?: OverlayDisposeOnNavigation;
103
99
  /**
104
100
  * Duration of the enter animation in ms.
105
101
  * Should be a number, string type is deprecated.
@@ -1,7 +1,6 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, OnDestroy, AfterViewInit, ElementRef, AfterContentInit, AfterContentChecked, QueryList } from '@angular/core';
3
1
  import { BooleanInput } from '@angular/cdk/coercion';
4
- import { AbstractControlDirective } from '@angular/forms';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, OnDestroy, AfterViewInit, ElementRef, AfterContentInit, AfterContentChecked, Signal, QueryList } from '@angular/core';
5
4
  import { ThemePalette } from './_palette-chunk.js';
6
5
  import { MatFormFieldControl as MatFormFieldControl$1 } from './_form-field-control-chunk.js';
7
6
 
@@ -204,6 +203,7 @@ declare class MatFormField implements FloatingLabelParent, AfterContentInit, Aft
204
203
  private _ngZone;
205
204
  private _defaults;
206
205
  private _currentDirection;
206
+ protected _unwrapMaybeSignal<T>(value: T | Signal<T>): T;
207
207
  _textField: ElementRef<HTMLElement>;
208
208
  _iconPrefixContainer: ElementRef<HTMLElement>;
209
209
  _textPrefixContainer: ElementRef<HTMLElement>;
@@ -283,7 +283,7 @@ declare class MatFormField implements FloatingLabelParent, AfterContentInit, Aft
283
283
  /**
284
284
  * Gets the id of the label element. If no label is present, returns `null`.
285
285
  */
286
- getLabelId: i0.Signal<string | null>;
286
+ getLabelId: Signal<string | null>;
287
287
  /**
288
288
  * Gets an ElementRef for the element that a overlay attached to the form field
289
289
  * should be positioned relative to.
@@ -324,13 +324,13 @@ declare class MatFormField implements FloatingLabelParent, AfterContentInit, Aft
324
324
  * the label is part of the infix, the label cannot overflow the prefix content.
325
325
  */
326
326
  _forceDisplayInfixLabel(): 0 | boolean;
327
- _hasFloatingLabel: i0.Signal<boolean>;
327
+ _hasFloatingLabel: Signal<boolean>;
328
328
  _shouldLabelFloat(): boolean;
329
329
  /**
330
330
  * Determines whether a class from the AbstractControlDirective
331
331
  * should be forwarded to the host element.
332
332
  */
333
- _shouldForward(prop: keyof AbstractControlDirective): boolean;
333
+ _shouldForward(prop: 'valid' | 'dirty' | 'touched' | 'pending' | 'untouched' | 'pristine' | 'invalid'): boolean;
334
334
  /** Gets the type of subscript message to render (error or hint). */
335
335
  _getSubscriptMessageType(): 'error' | 'hint';
336
336
  /** Handle label resize events. */
@@ -1,34 +1,32 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { NgControl, AbstractControlDirective } from '@angular/forms';
3
3
  import * as i0 from '@angular/core';
4
+ import { Signal } from '@angular/core';
5
+ import { Field } from '@angular/forms/signals';
4
6
 
5
7
  /** An interface which allows a control to work inside of a `MatFormField`. */
6
8
  declare abstract class MatFormFieldControl<T> {
7
- /** The value of the control. */
8
- value: T | null;
9
- /**
10
- * Stream that emits whenever the state of the control changes such that the parent `MatFormField`
11
- * needs to run change detection.
12
- */
13
- readonly stateChanges: Observable<void>;
14
9
  /** The element ID for this control. */
15
10
  readonly id: string;
16
- /** The placeholder for this control. */
17
- readonly placeholder: string;
18
- /** Gets the AbstractControlDirective for this control. */
11
+ /** Control if the directive supports signal forms. */
12
+ readonly ngField?: Field<T> | null;
13
+ /**
14
+ * Form control if the directive only supports Reactive or Template-driven forms.
15
+ * Can be skipped if your directive already sets `ngField`.
16
+ */
19
17
  readonly ngControl: NgControl | AbstractControlDirective | null;
20
18
  /** Whether the control is focused. */
21
- readonly focused: boolean;
19
+ readonly focused: boolean | Signal<boolean>;
22
20
  /** Whether the control is empty. */
23
- readonly empty: boolean;
21
+ readonly empty: boolean | Signal<boolean>;
24
22
  /** Whether the `MatFormField` label should try to float. */
25
- readonly shouldLabelFloat: boolean;
23
+ readonly shouldLabelFloat: boolean | Signal<boolean>;
26
24
  /** Whether the control is required. */
27
- readonly required: boolean;
25
+ readonly required: boolean | Signal<boolean>;
28
26
  /** Whether the control is disabled. */
29
- readonly disabled: boolean;
27
+ readonly disabled: boolean | Signal<boolean>;
30
28
  /** Whether the control is in an error state. */
31
- readonly errorState: boolean;
29
+ readonly errorState: boolean | Signal<boolean>;
32
30
  /**
33
31
  * An optional name for the control type that can be used to distinguish `mat-form-field` elements
34
32
  * based on their control type. The form field will add a class,
@@ -39,12 +37,12 @@ declare abstract class MatFormFieldControl<T> {
39
37
  * Whether the input is currently in an autofilled state. If property is not present on the
40
38
  * control it is assumed to be false.
41
39
  */
42
- readonly autofilled?: boolean;
40
+ readonly autofilled?: boolean | Signal<boolean>;
43
41
  /**
44
42
  * Value of `aria-describedby` that should be merged with the described-by ids
45
43
  * which are set by the form-field.
46
44
  */
47
- readonly userAriaDescribedBy?: string;
45
+ readonly userAriaDescribedBy?: string | Signal<string>;
48
46
  /**
49
47
  * Whether to automatically assign the ID of the form field as the `for` attribute
50
48
  * on the `<label>` inside the form field. Set this to true to prevent the form
@@ -53,10 +51,17 @@ declare abstract class MatFormFieldControl<T> {
53
51
  readonly disableAutomaticLabeling?: boolean;
54
52
  /** Gets the list of element IDs that currently describe this control. */
55
53
  readonly describedByIds?: string[];
54
+ /**
55
+ * Stream that emits whenever the state of the control changes such that the parent `MatFormField`
56
+ * needs to run change detection. Not necessary if the control is signal-based.
57
+ */
58
+ readonly stateChanges?: Observable<void> | null;
56
59
  /** Sets the list of element IDs that currently describe this control. */
57
60
  abstract setDescribedByIds(ids: string[]): void;
58
61
  /** Handles a click on the control's container. */
59
62
  abstract onContainerClick(event: MouseEvent): void;
63
+ /** Value of the form control. Left in for backwards compatibility. */
64
+ value?: any;
60
65
  static ɵfac: i0.ɵɵFactoryDeclaration<MatFormFieldControl<any>, never>;
61
66
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatFormFieldControl<any>, never, never, {}, {}, never, never, true, never>;
62
67
  }
@@ -6,7 +6,7 @@ import * as i2 from '@angular/cdk/portal';
6
6
  import { ComponentType } from '@angular/cdk/portal';
7
7
  import * as i2$1 from '@angular/cdk/bidi';
8
8
  import { Direction } from '@angular/cdk/bidi';
9
- import { ScrollStrategy } from '@angular/cdk/overlay';
9
+ import { OverlayDisposeOnNavigation, ScrollStrategy } from '@angular/cdk/overlay';
10
10
  import { Observable } from 'rxjs';
11
11
 
12
12
  /**
@@ -79,12 +79,8 @@ declare class MatBottomSheetConfig<D = any> {
79
79
  * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.
80
80
  */
81
81
  ariaModal?: boolean;
82
- /**
83
- * Whether the bottom sheet should close when the user goes backwards/forwards in history.
84
- * Note that this usually doesn't include clicking on links (unless the user is using
85
- * the `HashLocationStrategy`).
86
- */
87
- closeOnNavigation?: boolean;
82
+ /** Whether the bottom sheet should be disposed of when the user navigates. */
83
+ closeOnNavigation?: OverlayDisposeOnNavigation;
88
84
  /**
89
85
  * Where the bottom sheet should focus on open.
90
86
  * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or