@angular/material 19.0.0-next.4 → 19.0.0-next.6

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 (196) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/index.d.ts +5 -15
  3. package/badge/index.d.ts +3 -7
  4. package/bottom-sheet/index.d.ts +5 -15
  5. package/button/index.d.ts +20 -24
  6. package/button-toggle/index.d.ts +5 -8
  7. package/card/index.d.ts +2 -2
  8. package/checkbox/index.d.ts +4 -6
  9. package/chips/index.d.ts +13 -24
  10. package/core/_core.scss +6 -0
  11. package/core/index.d.ts +14 -19
  12. package/datepicker/index.d.ts +44 -70
  13. package/dialog/index.d.ts +10 -34
  14. package/dialog/testing/index.d.ts +1 -1
  15. package/expansion/index.d.ts +9 -13
  16. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  17. package/fesm2022/autocomplete.mjs +32 -62
  18. package/fesm2022/autocomplete.mjs.map +1 -1
  19. package/fesm2022/badge/testing.mjs.map +1 -1
  20. package/fesm2022/badge.mjs +12 -19
  21. package/fesm2022/badge.mjs.map +1 -1
  22. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  23. package/fesm2022/bottom-sheet.mjs +17 -32
  24. package/fesm2022/bottom-sheet.mjs.map +1 -1
  25. package/fesm2022/button/testing.mjs.map +1 -1
  26. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  27. package/fesm2022/button-toggle.mjs +18 -34
  28. package/fesm2022/button-toggle.mjs.map +1 -1
  29. package/fesm2022/button.mjs +44 -113
  30. package/fesm2022/button.mjs.map +1 -1
  31. package/fesm2022/card/testing.mjs.map +1 -1
  32. package/fesm2022/card.mjs +5 -9
  33. package/fesm2022/card.mjs.map +1 -1
  34. package/fesm2022/checkbox/testing.mjs.map +1 -1
  35. package/fesm2022/checkbox.mjs +14 -24
  36. package/fesm2022/checkbox.mjs.map +1 -1
  37. package/fesm2022/chips/testing.mjs.map +1 -1
  38. package/fesm2022/chips.mjs +61 -112
  39. package/fesm2022/chips.mjs.map +1 -1
  40. package/fesm2022/core/testing.mjs.map +1 -1
  41. package/fesm2022/core.mjs +31 -66
  42. package/fesm2022/core.mjs.map +1 -1
  43. package/fesm2022/datepicker/testing.mjs.map +1 -1
  44. package/fesm2022/datepicker.mjs +132 -268
  45. package/fesm2022/datepicker.mjs.map +1 -1
  46. package/fesm2022/dialog/testing.mjs +3 -3
  47. package/fesm2022/dialog/testing.mjs.map +1 -1
  48. package/fesm2022/dialog.mjs +27 -85
  49. package/fesm2022/dialog.mjs.map +1 -1
  50. package/fesm2022/divider/testing.mjs.map +1 -1
  51. package/fesm2022/divider.mjs.map +1 -1
  52. package/fesm2022/expansion/testing.mjs.map +1 -1
  53. package/fesm2022/expansion.mjs +32 -67
  54. package/fesm2022/expansion.mjs.map +1 -1
  55. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  56. package/fesm2022/form-field/testing.mjs.map +1 -1
  57. package/fesm2022/form-field.mjs +42 -62
  58. package/fesm2022/form-field.mjs.map +1 -1
  59. package/fesm2022/grid-list/testing.mjs.map +1 -1
  60. package/fesm2022/grid-list.mjs +16 -23
  61. package/fesm2022/grid-list.mjs.map +1 -1
  62. package/fesm2022/icon/testing.mjs.map +1 -1
  63. package/fesm2022/icon.mjs +11 -20
  64. package/fesm2022/icon.mjs.map +1 -1
  65. package/fesm2022/input/testing.mjs.map +1 -1
  66. package/fesm2022/input.mjs +23 -47
  67. package/fesm2022/input.mjs.map +1 -1
  68. package/fesm2022/list/testing.mjs.map +1 -1
  69. package/fesm2022/list.mjs +59 -98
  70. package/fesm2022/list.mjs.map +1 -1
  71. package/fesm2022/material.mjs.map +1 -1
  72. package/fesm2022/menu/testing.mjs.map +1 -1
  73. package/fesm2022/menu.mjs +51 -99
  74. package/fesm2022/menu.mjs.map +1 -1
  75. package/fesm2022/paginator/testing.mjs.map +1 -1
  76. package/fesm2022/paginator.mjs.map +1 -1
  77. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  78. package/fesm2022/progress-bar.mjs +12 -19
  79. package/fesm2022/progress-bar.mjs.map +1 -1
  80. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  81. package/fesm2022/progress-spinner.mjs +8 -14
  82. package/fesm2022/progress-spinner.mjs.map +1 -1
  83. package/fesm2022/radio/testing.mjs.map +1 -1
  84. package/fesm2022/radio.mjs +21 -34
  85. package/fesm2022/radio.mjs.map +1 -1
  86. package/fesm2022/select/testing.mjs.map +1 -1
  87. package/fesm2022/select.mjs +26 -58
  88. package/fesm2022/select.mjs.map +1 -1
  89. package/fesm2022/sidenav/testing.mjs.map +1 -1
  90. package/fesm2022/sidenav.mjs +50 -70
  91. package/fesm2022/sidenav.mjs.map +1 -1
  92. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  93. package/fesm2022/slide-toggle.mjs +13 -21
  94. package/fesm2022/slide-toggle.mjs.map +1 -1
  95. package/fesm2022/slider/testing.mjs.map +1 -1
  96. package/fesm2022/slider.mjs +49 -57
  97. package/fesm2022/slider.mjs.map +1 -1
  98. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  99. package/fesm2022/snack-bar.mjs +30 -43
  100. package/fesm2022/snack-bar.mjs.map +1 -1
  101. package/fesm2022/sort/testing.mjs.map +1 -1
  102. package/fesm2022/sort.mjs +18 -37
  103. package/fesm2022/sort.mjs.map +1 -1
  104. package/fesm2022/stepper/testing.mjs.map +1 -1
  105. package/fesm2022/stepper.mjs +30 -42
  106. package/fesm2022/stepper.mjs.map +1 -1
  107. package/fesm2022/table/testing.mjs.map +1 -1
  108. package/fesm2022/table.mjs.map +1 -1
  109. package/fesm2022/tabs/testing.mjs.map +1 -1
  110. package/fesm2022/tabs.mjs +87 -142
  111. package/fesm2022/tabs.mjs.map +1 -1
  112. package/fesm2022/toolbar/testing.mjs.map +1 -1
  113. package/fesm2022/toolbar.mjs +8 -12
  114. package/fesm2022/toolbar.mjs.map +1 -1
  115. package/fesm2022/tooltip/testing.mjs.map +1 -1
  116. package/fesm2022/tooltip.mjs +45 -59
  117. package/fesm2022/tooltip.mjs.map +1 -1
  118. package/fesm2022/tree/testing.mjs.map +1 -1
  119. package/fesm2022/tree.mjs +13 -40
  120. package/fesm2022/tree.mjs.map +1 -1
  121. package/form-field/index.d.ts +10 -24
  122. package/grid-list/index.d.ts +6 -8
  123. package/icon/index.d.ts +2 -2
  124. package/input/index.d.ts +3 -7
  125. package/list/index.d.ts +10 -14
  126. package/menu/index.d.ts +15 -49
  127. package/package.json +2 -2
  128. package/progress-bar/index.d.ts +3 -5
  129. package/progress-spinner/index.d.ts +2 -2
  130. package/radio/index.d.ts +5 -8
  131. package/schematics/ng-add/fonts/material-fonts.d.ts +1 -1
  132. package/schematics/ng-add/fonts/material-fonts.js +2 -2
  133. package/schematics/ng-add/fonts/material-fonts.mjs +2 -2
  134. package/schematics/ng-add/index.d.ts +1 -1
  135. package/schematics/ng-add/index.js +3 -3
  136. package/schematics/ng-add/index.mjs +3 -3
  137. package/schematics/ng-add/package-config.d.ts +1 -1
  138. package/schematics/ng-add/package-config.js +2 -2
  139. package/schematics/ng-add/package-config.mjs +2 -2
  140. package/schematics/ng-add/schema.d.ts +1 -1
  141. package/schematics/ng-add/schema.js +2 -2
  142. package/schematics/ng-add/schema.mjs +2 -2
  143. package/schematics/ng-add/setup-project.d.ts +1 -1
  144. package/schematics/ng-add/setup-project.js +3 -3
  145. package/schematics/ng-add/setup-project.mjs +3 -3
  146. package/schematics/ng-add/theming/create-custom-theme.d.ts +1 -1
  147. package/schematics/ng-add/theming/create-custom-theme.js +2 -2
  148. package/schematics/ng-add/theming/create-custom-theme.mjs +2 -2
  149. package/schematics/ng-add/theming/theming.d.ts +1 -1
  150. package/schematics/ng-add/theming/theming.js +2 -2
  151. package/schematics/ng-add/theming/theming.mjs +2 -2
  152. package/schematics/ng-generate/address-form/index.d.ts +1 -1
  153. package/schematics/ng-generate/address-form/index.js +2 -2
  154. package/schematics/ng-generate/address-form/index.mjs +2 -2
  155. package/schematics/ng-generate/address-form/schema.d.ts +1 -1
  156. package/schematics/ng-generate/address-form/schema.js +2 -2
  157. package/schematics/ng-generate/address-form/schema.mjs +2 -2
  158. package/schematics/ng-generate/dashboard/index.d.ts +1 -1
  159. package/schematics/ng-generate/dashboard/index.js +2 -2
  160. package/schematics/ng-generate/dashboard/index.mjs +2 -2
  161. package/schematics/ng-generate/dashboard/schema.d.ts +1 -1
  162. package/schematics/ng-generate/dashboard/schema.js +2 -2
  163. package/schematics/ng-generate/dashboard/schema.mjs +2 -2
  164. package/schematics/ng-generate/m3-theme/index_bundled.js +1 -1
  165. package/schematics/ng-generate/m3-theme/index_bundled.js.map +1 -1
  166. package/schematics/ng-generate/navigation/index.d.ts +1 -1
  167. package/schematics/ng-generate/navigation/index.js +2 -2
  168. package/schematics/ng-generate/navigation/index.mjs +2 -2
  169. package/schematics/ng-generate/navigation/schema.d.ts +1 -1
  170. package/schematics/ng-generate/navigation/schema.js +2 -2
  171. package/schematics/ng-generate/navigation/schema.mjs +2 -2
  172. package/schematics/ng-generate/table/index.d.ts +1 -1
  173. package/schematics/ng-generate/table/index.js +2 -2
  174. package/schematics/ng-generate/table/index.mjs +2 -2
  175. package/schematics/ng-generate/table/schema.d.ts +1 -1
  176. package/schematics/ng-generate/table/schema.js +2 -2
  177. package/schematics/ng-generate/table/schema.mjs +2 -2
  178. package/schematics/ng-generate/tree/index.d.ts +1 -1
  179. package/schematics/ng-generate/tree/index.js +2 -2
  180. package/schematics/ng-generate/tree/index.mjs +2 -2
  181. package/schematics/ng-generate/tree/schema.d.ts +1 -1
  182. package/schematics/ng-generate/tree/schema.js +2 -2
  183. package/schematics/ng-generate/tree/schema.mjs +2 -2
  184. package/schematics/ng-update/index_bundled.js +6518 -2
  185. package/schematics/ng-update/index_bundled.js.map +4 -4
  186. package/select/index.d.ts +4 -14
  187. package/sidenav/index.d.ts +7 -17
  188. package/slide-toggle/index.d.ts +2 -2
  189. package/slider/index.d.ts +8 -8
  190. package/snack-bar/index.d.ts +6 -22
  191. package/sort/index.d.ts +4 -20
  192. package/stepper/index.d.ts +6 -13
  193. package/tabs/index.d.ts +21 -32
  194. package/toolbar/index.d.ts +3 -4
  195. package/tooltip/index.d.ts +5 -12
  196. package/tree/index.d.ts +5 -18
@@ -1,22 +1,17 @@
1
1
  import { Overlay, CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
2
2
  import { NgClass, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Self, Attribute, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
5
- import * as i2 from '@angular/material/core';
6
- import { _countGroupLabelsBeforeOption, _getOptionScrollPosition, _ErrorStateTracker, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionModule, MatCommonModule } from '@angular/material/core';
4
+ import { InjectionToken, inject, ChangeDetectorRef, ElementRef, EventEmitter, HostAttributeToken, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
5
+ import { _countGroupLabelsBeforeOption, _getOptionScrollPosition, ErrorStateMatcher, _ErrorStateTracker, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionModule, MatCommonModule } from '@angular/material/core';
7
6
  export { MatOptgroup, MatOption } from '@angular/material/core';
8
- import * as i6 from '@angular/material/form-field';
9
7
  import { MAT_FORM_FIELD, MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
10
8
  export { MatError, MatFormField, MatHint, MatLabel, MatPrefix, MatSuffix } from '@angular/material/form-field';
11
- import * as i1 from '@angular/cdk/scrolling';
12
- import { CdkScrollableModule } from '@angular/cdk/scrolling';
13
- import * as i5 from '@angular/cdk/a11y';
14
- import { removeAriaReferencedId, addAriaReferencedId, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
15
- import * as i3 from '@angular/cdk/bidi';
9
+ import { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
10
+ import { LiveAnnouncer, removeAriaReferencedId, addAriaReferencedId, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
11
+ import { Directionality } from '@angular/cdk/bidi';
16
12
  import { SelectionModel } from '@angular/cdk/collections';
17
13
  import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, hasModifierKey, A } from '@angular/cdk/keycodes';
18
- import * as i4 from '@angular/forms';
19
- import { Validators } from '@angular/forms';
14
+ import { Validators, NgControl, NgForm, FormGroupDirective } from '@angular/forms';
20
15
  import { Subject, defer, merge } from 'rxjs';
21
16
  import { startWith, switchMap, filter, map, distinctUntilChanged, takeUntil, take } from 'rxjs/operators';
22
17
  import { trigger, transition, query, animateChild, state, style, animate } from '@angular/animations';
@@ -232,19 +227,14 @@ class MatSelect {
232
227
  set errorState(value) {
233
228
  this._errorStateTracker.errorState = value;
234
229
  }
235
- constructor(_viewportRuler, _changeDetectorRef,
236
- /**
237
- * @deprecated Unused param, will be removed.
238
- * @breaking-change 19.0.0
239
- */
240
- _unusedNgZone, defaultErrorStateMatcher, _elementRef, _dir, parentForm, parentFormGroup, _parentFormField, ngControl, tabIndex, scrollStrategyFactory, _liveAnnouncer, _unusedDefaultOptions) {
241
- this._viewportRuler = _viewportRuler;
242
- this._changeDetectorRef = _changeDetectorRef;
243
- this._elementRef = _elementRef;
244
- this._dir = _dir;
245
- this._parentFormField = _parentFormField;
246
- this.ngControl = ngControl;
247
- this._liveAnnouncer = _liveAnnouncer;
230
+ constructor() {
231
+ this._viewportRuler = inject(ViewportRuler);
232
+ this._changeDetectorRef = inject(ChangeDetectorRef);
233
+ this._elementRef = inject(ElementRef);
234
+ this._dir = inject(Directionality, { optional: true });
235
+ this._parentFormField = inject(MAT_FORM_FIELD, { optional: true });
236
+ this.ngControl = inject(NgControl, { self: true, optional: true });
237
+ this._liveAnnouncer = inject(LiveAnnouncer);
248
238
  this._defaultOptions = inject(MAT_SELECT_CONFIG, { optional: true });
249
239
  /**
250
240
  * This position config ensures that the top "start" corner of the overlay
@@ -280,6 +270,8 @@ class MatSelect {
280
270
  panelClass: 'mat-mdc-select-panel-above',
281
271
  },
282
272
  ];
273
+ /** Factory function used to create a scroll strategy for this select. */
274
+ this._scrollStrategyFactory = inject(MAT_SELECT_SCROLL_STRATEGY);
283
275
  /** Whether or not the overlay panel is open. */
284
276
  this._panelOpen = false;
285
277
  /** Comparison function to specify which option is displayed. Defaults to object equality. */
@@ -385,6 +377,10 @@ class MatSelect {
385
377
  // closed.
386
378
  return option.disabled;
387
379
  };
380
+ const defaultErrorStateMatcher = inject(ErrorStateMatcher);
381
+ const parentForm = inject(NgForm, { optional: true });
382
+ const parentFormGroup = inject(FormGroupDirective, { optional: true });
383
+ const tabIndex = inject(new HostAttributeToken('tabindex'), { optional: true });
388
384
  if (this.ngControl) {
389
385
  // Note: we provide the value accessor through here, instead of
390
386
  // the `providers` to avoid running into a circular import.
@@ -395,10 +391,9 @@ class MatSelect {
395
391
  if (this._defaultOptions?.typeaheadDebounceInterval != null) {
396
392
  this.typeaheadDebounceInterval = this._defaultOptions.typeaheadDebounceInterval;
397
393
  }
398
- this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, ngControl, parentFormGroup, parentForm, this.stateChanges);
399
- this._scrollStrategyFactory = scrollStrategyFactory;
394
+ this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);
400
395
  this._scrollStrategy = this._scrollStrategyFactory();
401
- this.tabIndex = parseInt(tabIndex) || 0;
396
+ this.tabIndex = tabIndex == null ? 0 : parseInt(tabIndex) || 0;
402
397
  // Force setter to be called in case id was not specified.
403
398
  this.id = this.id;
404
399
  }
@@ -996,7 +991,7 @@ class MatSelect {
996
991
  if (this.ariaLabel) {
997
992
  return null;
998
993
  }
999
- const labelId = this._parentFormField?.getLabelId();
994
+ const labelId = this._parentFormField?.getLabelId() || null;
1000
995
  const labelExpression = labelId ? labelId + ' ' : '';
1001
996
  return this.ariaLabelledby ? labelExpression + this.ariaLabelledby : labelId;
1002
997
  }
@@ -1052,8 +1047,8 @@ class MatSelect {
1052
1047
  // want the label to only float when there's a value.
1053
1048
  return this.panelOpen || !this.empty || (this.focused && !!this.placeholder);
1054
1049
  }
1055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.3", ngImport: i0, type: MatSelect, deps: [{ token: i1.ViewportRuler }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: MAT_FORM_FIELD, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: 'tabindex', attribute: true }, { token: MAT_SELECT_SCROLL_STRATEGY }, { token: i5.LiveAnnouncer }, { token: MAT_SELECT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0-next.3", type: MatSelect, isStandalone: true, selector: "mat-select", inputs: { userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], panelClass: "panelClass", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute], placeholder: "placeholder", required: ["required", "required", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], disableOptionCentering: ["disableOptionCentering", "disableOptionCentering", booleanAttribute], compareWith: "compareWith", value: "value", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], errorStateMatcher: "errorStateMatcher", typeaheadDebounceInterval: ["typeaheadDebounceInterval", "typeaheadDebounceInterval", numberAttribute], sortComparator: "sortComparator", id: "id", panelWidth: "panelWidth" }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "listbox" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-mdc-select-disabled": "disabled", "class.mat-mdc-select-invalid": "errorState", "class.mat-mdc-select-required": "required", "class.mat-mdc-select-empty": "empty", "class.mat-mdc-select-multiple": "multiple" }, classAttribute: "mat-mdc-select" }, providers: [
1050
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.3", ngImport: i0, type: MatSelect, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1051
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0-next.3", type: MatSelect, isStandalone: true, selector: "mat-select", inputs: { userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], panelClass: "panelClass", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute], placeholder: "placeholder", required: ["required", "required", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], disableOptionCentering: ["disableOptionCentering", "disableOptionCentering", booleanAttribute], compareWith: "compareWith", value: "value", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], errorStateMatcher: "errorStateMatcher", typeaheadDebounceInterval: ["typeaheadDebounceInterval", "typeaheadDebounceInterval", numberAttribute], sortComparator: "sortComparator", id: "id", panelWidth: "panelWidth" }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-mdc-select-disabled": "disabled", "class.mat-mdc-select-invalid": "errorState", "class.mat-mdc-select-required": "required", "class.mat-mdc-select-empty": "empty", "class.mat-mdc-select-multiple": "multiple" }, classAttribute: "mat-mdc-select" }, providers: [
1057
1052
  { provide: MatFormFieldControl, useExisting: MatSelect },
1058
1053
  { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
1059
1054
  ], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], exportAs: ["matSelect"], usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n\n <div class=\"mat-mdc-select-value\" [attr.id]=\"_valueId\">\n @if (empty) {\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\">{{placeholder}}</span>\n } @else {\n <span class=\"mat-mdc-select-value-text\">\n @if (customTrigger) {\n <ng-content select=\"mat-select-trigger\"></ng-content>\n } @else {\n <span class=\"mat-mdc-select-min-line\">{{triggerValue}}</span>\n }\n </span>\n }\n </div>\n\n <div class=\"mat-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-app-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-app-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-app-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-app-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-app-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-app-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-app-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-app-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-app-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color, var(--mat-app-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-app-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -1062,7 +1057,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.3",
1062
1057
  type: Component,
1063
1058
  args: [{ selector: 'mat-select', exportAs: 'matSelect', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1064
1059
  'role': 'combobox',
1065
- 'aria-autocomplete': 'none',
1066
1060
  'aria-haspopup': 'listbox',
1067
1061
  'class': 'mat-mdc-select',
1068
1062
  '[attr.id]': 'id',
@@ -1086,33 +1080,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.3",
1086
1080
  { provide: MatFormFieldControl, useExisting: MatSelect },
1087
1081
  { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
1088
1082
  ], standalone: true, imports: [CdkOverlayOrigin, CdkConnectedOverlay, NgClass], template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n\n <div class=\"mat-mdc-select-value\" [attr.id]=\"_valueId\">\n @if (empty) {\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\">{{placeholder}}</span>\n } @else {\n <span class=\"mat-mdc-select-value-text\">\n @if (customTrigger) {\n <ng-content select=\"mat-select-trigger\"></ng-content>\n } @else {\n <span class=\"mat-mdc-select-min-line\">{{triggerValue}}</span>\n }\n </span>\n }\n </div>\n\n <div class=\"mat-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-app-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-app-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-app-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-app-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-app-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-app-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-app-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-app-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-app-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-app-on-surface) 38%, transparent))}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color, var(--mat-app-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-app-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}"] }]
1089
- }], ctorParameters: () => [{ type: i1.ViewportRuler }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i2.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i3.Directionality, decorators: [{
1090
- type: Optional
1091
- }] }, { type: i4.NgForm, decorators: [{
1092
- type: Optional
1093
- }] }, { type: i4.FormGroupDirective, decorators: [{
1094
- type: Optional
1095
- }] }, { type: i6.MatFormField, decorators: [{
1096
- type: Optional
1097
- }, {
1098
- type: Inject,
1099
- args: [MAT_FORM_FIELD]
1100
- }] }, { type: i4.NgControl, decorators: [{
1101
- type: Self
1102
- }, {
1103
- type: Optional
1104
- }] }, { type: undefined, decorators: [{
1105
- type: Attribute,
1106
- args: ['tabindex']
1107
- }] }, { type: undefined, decorators: [{
1108
- type: Inject,
1109
- args: [MAT_SELECT_SCROLL_STRATEGY]
1110
- }] }, { type: i5.LiveAnnouncer }, { type: undefined, decorators: [{
1111
- type: Optional
1112
- }, {
1113
- type: Inject,
1114
- args: [MAT_SELECT_CONFIG]
1115
- }] }], propDecorators: { options: [{
1083
+ }], ctorParameters: () => [], propDecorators: { options: [{
1116
1084
  type: ContentChildren,
1117
1085
  args: [MatOption, { descendants: true }]
1118
1086
  }], optionGroups: [{