@angular/material 19.0.3 → 19.0.5

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 (87) hide show
  1. package/LICENSE +1 -1
  2. package/autocomplete/index.d.ts +6 -6
  3. package/badge/index.d.ts +2 -2
  4. package/button/index.d.ts +6 -4
  5. package/checkbox/index.d.ts +4 -4
  6. package/chips/index.d.ts +3 -3
  7. package/core/theming/_theming.scss +1 -1
  8. package/datepicker/index.d.ts +16 -39
  9. package/expansion/index.d.ts +2 -0
  10. package/fesm2022/autocomplete.mjs +41 -37
  11. package/fesm2022/autocomplete.mjs.map +1 -1
  12. package/fesm2022/badge.mjs +2 -2
  13. package/fesm2022/badge.mjs.map +1 -1
  14. package/fesm2022/button.mjs +7 -5
  15. package/fesm2022/button.mjs.map +1 -1
  16. package/fesm2022/checkbox.mjs +2 -2
  17. package/fesm2022/checkbox.mjs.map +1 -1
  18. package/fesm2022/chips.mjs +2 -2
  19. package/fesm2022/chips.mjs.map +1 -1
  20. package/fesm2022/core.mjs +1 -1
  21. package/fesm2022/core.mjs.map +1 -1
  22. package/fesm2022/datepicker.mjs +737 -745
  23. package/fesm2022/datepicker.mjs.map +1 -1
  24. package/fesm2022/expansion.mjs +5 -3
  25. package/fesm2022/expansion.mjs.map +1 -1
  26. package/fesm2022/form-field.mjs +7 -5
  27. package/fesm2022/form-field.mjs.map +1 -1
  28. package/fesm2022/icon.mjs +2 -2
  29. package/fesm2022/icon.mjs.map +1 -1
  30. package/fesm2022/input.mjs +19 -25
  31. package/fesm2022/input.mjs.map +1 -1
  32. package/fesm2022/list.mjs +14 -10
  33. package/fesm2022/list.mjs.map +1 -1
  34. package/fesm2022/menu.mjs +163 -118
  35. package/fesm2022/menu.mjs.map +1 -1
  36. package/fesm2022/paginator.mjs +12 -15
  37. package/fesm2022/paginator.mjs.map +1 -1
  38. package/fesm2022/progress-bar.mjs +7 -5
  39. package/fesm2022/progress-bar.mjs.map +1 -1
  40. package/fesm2022/progress-spinner.mjs +2 -2
  41. package/fesm2022/progress-spinner.mjs.map +1 -1
  42. package/fesm2022/radio.mjs +9 -8
  43. package/fesm2022/radio.mjs.map +1 -1
  44. package/fesm2022/select.mjs.map +1 -1
  45. package/fesm2022/sidenav.mjs +118 -94
  46. package/fesm2022/sidenav.mjs.map +1 -1
  47. package/fesm2022/slide-toggle.mjs +2 -2
  48. package/fesm2022/slide-toggle.mjs.map +1 -1
  49. package/fesm2022/slider.mjs +24 -25
  50. package/fesm2022/slider.mjs.map +1 -1
  51. package/fesm2022/sort.mjs +2 -2
  52. package/fesm2022/sort.mjs.map +1 -1
  53. package/fesm2022/stepper.mjs +6 -6
  54. package/fesm2022/stepper.mjs.map +1 -1
  55. package/fesm2022/table.mjs +4 -15
  56. package/fesm2022/table.mjs.map +1 -1
  57. package/fesm2022/tabs.mjs +8 -8
  58. package/fesm2022/tabs.mjs.map +1 -1
  59. package/fesm2022/timepicker.mjs +8 -4
  60. package/fesm2022/timepicker.mjs.map +1 -1
  61. package/fesm2022/toolbar.mjs +2 -2
  62. package/fesm2022/toolbar.mjs.map +1 -1
  63. package/fesm2022/tooltip.mjs +11 -7
  64. package/fesm2022/tooltip.mjs.map +1 -1
  65. package/form-field/index.d.ts +5 -4
  66. package/icon/index.d.ts +4 -4
  67. package/input/index.d.ts +8 -5
  68. package/list/index.d.ts +8 -5
  69. package/menu/index.d.ts +13 -14
  70. package/package.json +2 -2
  71. package/paginator/index.d.ts +5 -5
  72. package/progress-bar/index.d.ts +6 -4
  73. package/progress-spinner/index.d.ts +4 -4
  74. package/radio/index.d.ts +8 -6
  75. package/schematics/ng-add/index.js +1 -1
  76. package/schematics/ng-add/index.mjs +1 -1
  77. package/schematics/ng-generate/theme-color/index_bundled.js +2 -2
  78. package/schematics/ng-update/index_bundled.js +31 -31
  79. package/select/index.d.ts +1 -1
  80. package/sidenav/index.d.ts +12 -10
  81. package/slide-toggle/index.d.ts +4 -4
  82. package/slider/index.d.ts +6 -3
  83. package/stepper/index.d.ts +6 -6
  84. package/tabs/index.d.ts +8 -8
  85. package/timepicker/index.d.ts +1 -0
  86. package/toolbar/index.d.ts +2 -2
  87. package/tooltip/index.d.ts +1 -0
@@ -1,7 +1,7 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import { Platform } from '@angular/cdk/platform';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, ChangeDetectorRef, NgZone, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ANIMATION_MODULE_TYPE, booleanAttribute, numberAttribute, ViewChildren, ContentChild, ContentChildren, forwardRef, EventEmitter, signal, Directive, Output, NgModule } from '@angular/core';
4
+ import { InjectionToken, inject, ChangeDetectorRef, NgZone, Renderer2, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ANIMATION_MODULE_TYPE, booleanAttribute, numberAttribute, ViewChildren, ContentChild, ContentChildren, forwardRef, EventEmitter, signal, Directive, Output, NgModule } from '@angular/core';
5
5
  import { RippleState, MatRipple, MAT_RIPPLE_GLOBAL_OPTIONS, _StructuralStylesLoader, MatCommonModule, MatRippleModule } from '@angular/material/core';
6
6
  import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
7
7
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -72,6 +72,8 @@ class MatSliderVisualThumb {
72
72
  _cdr = inject(ChangeDetectorRef);
73
73
  _ngZone = inject(NgZone);
74
74
  _slider = inject(MAT_SLIDER);
75
+ _renderer = inject(Renderer2);
76
+ _listenerCleanups;
75
77
  /** Whether the slider displays a numeric value label upon pressing the thumb. */
76
78
  discrete;
77
79
  /** Indicates which slider thumb this input corresponds to. */
@@ -118,24 +120,19 @@ class MatSliderVisualThumb {
118
120
  // of the NgZone to prevent Angular from needlessly running change detection.
119
121
  this._ngZone.runOutsideAngular(() => {
120
122
  const input = this._sliderInputEl;
121
- input.addEventListener('pointermove', this._onPointerMove);
122
- input.addEventListener('pointerdown', this._onDragStart);
123
- input.addEventListener('pointerup', this._onDragEnd);
124
- input.addEventListener('pointerleave', this._onMouseLeave);
125
- input.addEventListener('focus', this._onFocus);
126
- input.addEventListener('blur', this._onBlur);
123
+ const renderer = this._renderer;
124
+ this._listenerCleanups = [
125
+ renderer.listen(input, 'pointermove', this._onPointerMove),
126
+ renderer.listen(input, 'pointerdown', this._onDragStart),
127
+ renderer.listen(input, 'pointerup', this._onDragEnd),
128
+ renderer.listen(input, 'pointerleave', this._onMouseLeave),
129
+ renderer.listen(input, 'focus', this._onFocus),
130
+ renderer.listen(input, 'blur', this._onBlur),
131
+ ];
127
132
  });
128
133
  }
129
134
  ngOnDestroy() {
130
- const input = this._sliderInputEl;
131
- if (input) {
132
- input.removeEventListener('pointermove', this._onPointerMove);
133
- input.removeEventListener('pointerdown', this._onDragStart);
134
- input.removeEventListener('pointerup', this._onDragEnd);
135
- input.removeEventListener('pointerleave', this._onMouseLeave);
136
- input.removeEventListener('focus', this._onFocus);
137
- input.removeEventListener('blur', this._onBlur);
138
- }
135
+ this._listenerCleanups?.forEach(cleanup => cleanup());
139
136
  }
140
137
  _onPointerMove = (event) => {
141
138
  if (this._sliderInput._isFocused) {
@@ -369,10 +366,10 @@ class MatSlider {
369
366
  _min = 0;
370
367
  /**
371
368
  * Theme color of the slider. This API is supported in M2 themes only, it
372
- * has no effect in M3 themes.
369
+ * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/slider/styling.
373
370
  *
374
371
  * For information on applying color variants in M3, see
375
- * https://material.angular.io/guide/theming#using-component-color-variants.
372
+ * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
376
373
  */
377
374
  color;
378
375
  /** Whether ripples are disabled in the slider. */
@@ -1092,6 +1089,8 @@ class MatSliderThumb {
1092
1089
  _elementRef = inject(ElementRef);
1093
1090
  _cdr = inject(ChangeDetectorRef);
1094
1091
  _slider = inject(MAT_SLIDER);
1092
+ _platform = inject(Platform);
1093
+ _listenerCleanups;
1095
1094
  get value() {
1096
1095
  return numberAttribute(this._hostElement.value, 0);
1097
1096
  }
@@ -1247,18 +1246,18 @@ class MatSliderThumb {
1247
1246
  * See https://github.com/angular/angular/issues/14988.
1248
1247
  */
1249
1248
  _isControlInitialized = false;
1250
- _platform = inject(Platform);
1251
1249
  constructor() {
1250
+ const renderer = inject(Renderer2);
1252
1251
  this._ngZone.runOutsideAngular(() => {
1253
- this._hostElement.addEventListener('pointerdown', this._onPointerDown.bind(this));
1254
- this._hostElement.addEventListener('pointermove', this._onPointerMove.bind(this));
1255
- this._hostElement.addEventListener('pointerup', this._onPointerUp.bind(this));
1252
+ this._listenerCleanups = [
1253
+ renderer.listen(this._hostElement, 'pointerdown', this._onPointerDown.bind(this)),
1254
+ renderer.listen(this._hostElement, 'pointermove', this._onPointerMove.bind(this)),
1255
+ renderer.listen(this._hostElement, 'pointerup', this._onPointerUp.bind(this)),
1256
+ ];
1256
1257
  });
1257
1258
  }
1258
1259
  ngOnDestroy() {
1259
- this._hostElement.removeEventListener('pointerdown', this._onPointerDown);
1260
- this._hostElement.removeEventListener('pointermove', this._onPointerMove);
1261
- this._hostElement.removeEventListener('pointerup', this._onPointerUp);
1260
+ this._listenerCleanups.forEach(cleanup => cleanup());
1262
1261
  this._destroyed.next();
1263
1262
  this._destroyed.complete();
1264
1263
  this.dragStart.complete();