@angular/material 19.2.0-next.2 → 19.2.0-next.3

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 (63) hide show
  1. package/bottom-sheet/index.d.ts +1 -2
  2. package/button/_button-base.scss +1 -1
  3. package/checkbox/_checkbox-common.scss +29 -16
  4. package/chips/index.d.ts +0 -2
  5. package/datepicker/index.d.ts +2 -3
  6. package/dialog/index.d.ts +5 -2
  7. package/expansion/index.d.ts +7 -4
  8. package/fesm2022/bottom-sheet.mjs +72 -13
  9. package/fesm2022/bottom-sheet.mjs.map +1 -1
  10. package/fesm2022/button-toggle.mjs +3 -3
  11. package/fesm2022/button-toggle.mjs.map +1 -1
  12. package/fesm2022/button.mjs +16 -16
  13. package/fesm2022/checkbox.mjs +2 -2
  14. package/fesm2022/checkbox.mjs.map +1 -1
  15. package/fesm2022/chips.mjs +12 -13
  16. package/fesm2022/chips.mjs.map +1 -1
  17. package/fesm2022/core.mjs +1 -1
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/datepicker.mjs +102 -21
  20. package/fesm2022/datepicker.mjs.map +1 -1
  21. package/fesm2022/dialog.mjs +92 -16
  22. package/fesm2022/dialog.mjs.map +1 -1
  23. package/fesm2022/expansion.mjs +72 -16
  24. package/fesm2022/expansion.mjs.map +1 -1
  25. package/fesm2022/form-field.mjs +34 -9
  26. package/fesm2022/form-field.mjs.map +1 -1
  27. package/fesm2022/list.mjs +2 -2
  28. package/fesm2022/list.mjs.map +1 -1
  29. package/fesm2022/menu.mjs +84 -21
  30. package/fesm2022/menu.mjs.map +1 -1
  31. package/fesm2022/select.mjs +83 -15
  32. package/fesm2022/select.mjs.map +1 -1
  33. package/fesm2022/sidenav.mjs +72 -22
  34. package/fesm2022/sidenav.mjs.map +1 -1
  35. package/fesm2022/snack-bar.mjs +60 -15
  36. package/fesm2022/snack-bar.mjs.map +1 -1
  37. package/fesm2022/sort.mjs +286 -43
  38. package/fesm2022/sort.mjs.map +1 -1
  39. package/fesm2022/stepper.mjs +138 -29
  40. package/fesm2022/stepper.mjs.map +1 -1
  41. package/fesm2022/tabs.mjs +128 -30
  42. package/fesm2022/tabs.mjs.map +1 -1
  43. package/fesm2022/tooltip.mjs +36 -9
  44. package/fesm2022/tooltip.mjs.map +1 -1
  45. package/form-field/index.d.ts +1 -2
  46. package/menu/index.d.ts +4 -5
  47. package/package.json +2 -2
  48. package/schematics/ng-add/index.js +1 -1
  49. package/schematics/ng-add/index.mjs +1 -1
  50. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +2 -2
  51. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +2 -2
  52. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +2 -2
  53. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +2 -2
  54. package/schematics/ng-generate/theme-color/index_bundled.js +2 -2
  55. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +2 -2
  56. package/schematics/ng-update/index_bundled.js +31 -31
  57. package/select/index.d.ts +2 -3
  58. package/sidenav/index.d.ts +1 -2
  59. package/snack-bar/index.d.ts +1 -2
  60. package/sort/index.d.ts +6 -7
  61. package/stepper/index.d.ts +2 -3
  62. package/tabs/index.d.ts +1 -2
  63. package/tooltip/index.d.ts +1 -2
@@ -18,7 +18,6 @@ import { coerceStringArray } from '@angular/cdk/coercion';
18
18
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, ControlContainer, NgForm, FormGroupDirective, NgControl } from '@angular/forms';
19
19
  import { MAT_FORM_FIELD, MatFormFieldControl } from '@angular/material/form-field';
20
20
  import { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';
21
- import { trigger, transition, animate, keyframes, style, state } from '@angular/animations';
22
21
 
23
22
  /** @docs-private */
24
23
  function createMissingDateImplError(provider) {
@@ -3661,7 +3660,7 @@ class MatDatepickerToggle {
3661
3660
  this._stateChanges = merge(this._intl.changes, datepickerStateChanged, inputStateChanged, datepickerToggled).subscribe(() => this._changeDetectorRef.markForCheck());
3662
3661
  }
3663
3662
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatDatepickerToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
3664
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: MatDatepickerToggle, isStandalone: true, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: ["disabled", "disabled", booleanAttribute], disableRipple: "disableRipple" }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null", "class.mat-datepicker-toggle-active": "datepicker && datepicker.opened", "class.mat-accent": "datepicker && datepicker.color === \"accent\"", "class.mat-warn": "datepicker && datepicker.color === \"warn\"", "attr.data-mat-calendar": "datepicker ? datepicker.id : null" }, classAttribute: "mat-datepicker-toggle" }, queries: [{ propertyName: "_customIcon", first: true, predicate: MatDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "_button", first: true, predicate: ["button"], descendants: true }], exportAs: ["matDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<button\n #button\n mat-icon-button\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3663
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: MatDatepickerToggle, isStandalone: true, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: ["disabled", "disabled", booleanAttribute], disableRipple: "disableRipple" }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null", "class.mat-datepicker-toggle-active": "datepicker && datepicker.opened", "class.mat-accent": "datepicker && datepicker.color === \"accent\"", "class.mat-warn": "datepicker && datepicker.color === \"warn\"", "attr.data-mat-calendar": "datepicker ? datepicker.id : null" }, classAttribute: "mat-datepicker-toggle" }, queries: [{ propertyName: "_customIcon", first: true, predicate: MatDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "_button", first: true, predicate: ["button"], descendants: true }], exportAs: ["matDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<button\n #button\n mat-icon-button\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}"], dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3665
3664
  }
3666
3665
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatDatepickerToggle, decorators: [{
3667
3666
  type: Component,
@@ -3677,7 +3676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
3677
3676
  // `stopPropagation` on it without affecting the user's `click` handlers. We need to stop
3678
3677
  // it so that the input doesn't get focused automatically by the form field (See #21836).
3679
3678
  '(click)': '_open($event)',
3680
- }, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIconButton], template: "<button\n #button\n mat-icon-button\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}"] }]
3679
+ }, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIconButton], template: "<button\n #button\n mat-icon-button\n type=\"button\"\n [attr.aria-haspopup]=\"datepicker ? 'dialog' : null\"\n [attr.aria-label]=\"ariaLabel || _intl.openCalendarLabel\"\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\n [attr.aria-expanded]=\"datepicker ? datepicker.opened : null\"\n [disabled]=\"disabled\"\n [disableRipple]=\"disableRipple\">\n\n @if (!_customIcon) {\n <svg\n class=\"mat-datepicker-toggle-default-icon\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n height=\"24px\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\"/>\n </svg>\n }\n\n <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-on-surface-variant))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}"] }]
3681
3680
  }], ctorParameters: () => [], propDecorators: { datepicker: [{
3682
3681
  type: Input,
3683
3682
  args: ['for']
@@ -4731,26 +4730,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
4731
4730
  * @breaking-change 21.0.0
4732
4731
  */
4733
4732
  const matDatepickerAnimations = {
4733
+ // Represents:
4734
+ // trigger('transformPanel', [
4735
+ // transition(
4736
+ // 'void => enter-dropdown',
4737
+ // animate(
4738
+ // '120ms cubic-bezier(0, 0, 0.2, 1)',
4739
+ // keyframes([
4740
+ // style({opacity: 0, transform: 'scale(1, 0.8)'}),
4741
+ // style({opacity: 1, transform: 'scale(1, 1)'}),
4742
+ // ]),
4743
+ // ),
4744
+ // ),
4745
+ // transition(
4746
+ // 'void => enter-dialog',
4747
+ // animate(
4748
+ // '150ms cubic-bezier(0, 0, 0.2, 1)',
4749
+ // keyframes([
4750
+ // style({opacity: 0, transform: 'scale(0.7)'}),
4751
+ // style({transform: 'none', opacity: 1}),
4752
+ // ]),
4753
+ // ),
4754
+ // ),
4755
+ // transition('* => void', animate('100ms linear', style({opacity: 0}))),
4756
+ // ])
4734
4757
  /** Transforms the height of the datepicker's calendar. */
4735
- transformPanel: trigger('transformPanel', [
4736
- transition('void => enter-dropdown', animate('120ms cubic-bezier(0, 0, 0.2, 1)', keyframes([
4737
- style({ opacity: 0, transform: 'scale(1, 0.8)' }),
4738
- style({ opacity: 1, transform: 'scale(1, 1)' }),
4739
- ]))),
4740
- transition('void => enter-dialog', animate('150ms cubic-bezier(0, 0, 0.2, 1)', keyframes([
4741
- style({ opacity: 0, transform: 'scale(0.7)' }),
4742
- style({ transform: 'none', opacity: 1 }),
4743
- ]))),
4744
- transition('* => void', animate('100ms linear', style({ opacity: 0 }))),
4745
- ]),
4758
+ transformPanel: {
4759
+ type: 7,
4760
+ name: 'transformPanel',
4761
+ definitions: [
4762
+ {
4763
+ type: 1,
4764
+ expr: 'void => enter-dropdown',
4765
+ animation: {
4766
+ type: 4,
4767
+ styles: {
4768
+ type: 5,
4769
+ steps: [
4770
+ { type: 6, styles: { opacity: 0, transform: 'scale(1, 0.8)' }, offset: null },
4771
+ { type: 6, styles: { opacity: 1, transform: 'scale(1, 1)' }, offset: null },
4772
+ ],
4773
+ },
4774
+ timings: '120ms cubic-bezier(0, 0, 0.2, 1)',
4775
+ },
4776
+ options: null,
4777
+ },
4778
+ {
4779
+ type: 1,
4780
+ expr: 'void => enter-dialog',
4781
+ animation: {
4782
+ type: 4,
4783
+ styles: {
4784
+ type: 5,
4785
+ steps: [
4786
+ { type: 6, styles: { opacity: 0, transform: 'scale(0.7)' }, offset: null },
4787
+ { type: 6, styles: { transform: 'none', opacity: 1 }, offset: null },
4788
+ ],
4789
+ },
4790
+ timings: '150ms cubic-bezier(0, 0, 0.2, 1)',
4791
+ },
4792
+ options: null,
4793
+ },
4794
+ {
4795
+ type: 1,
4796
+ expr: '* => void',
4797
+ animation: {
4798
+ type: 4,
4799
+ styles: { type: 6, styles: { opacity: 0 }, offset: null },
4800
+ timings: '100ms linear',
4801
+ },
4802
+ options: null,
4803
+ },
4804
+ ],
4805
+ options: {},
4806
+ },
4807
+ // Represents:
4808
+ // trigger('fadeInCalendar', [
4809
+ // state('void', style({opacity: 0})),
4810
+ // state('enter', style({opacity: 1})),
4811
+ // // TODO(crisbeto): this animation should be removed since it isn't quite on spec, but we
4812
+ // // need to keep it until #12440 gets in, otherwise the exit animation will look glitchy.
4813
+ // transition('void => *', animate('120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')),
4814
+ // ])
4746
4815
  /** Fades in the content of the calendar. */
4747
- fadeInCalendar: trigger('fadeInCalendar', [
4748
- state('void', style({ opacity: 0 })),
4749
- state('enter', style({ opacity: 1 })),
4750
- // TODO(crisbeto): this animation should be removed since it isn't quite on spec, but we
4751
- // need to keep it until #12440 gets in, otherwise the exit animation will look glitchy.
4752
- transition('void => *', animate('120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')),
4753
- ]),
4816
+ fadeInCalendar: {
4817
+ type: 7,
4818
+ name: 'fadeInCalendar',
4819
+ definitions: [
4820
+ { type: 0, name: 'void', styles: { type: 6, styles: { opacity: 0 }, offset: null } },
4821
+ { type: 0, name: 'enter', styles: { type: 6, styles: { opacity: 1 }, offset: null } },
4822
+ {
4823
+ type: 1,
4824
+ expr: 'void => *',
4825
+ animation: {
4826
+ type: 4,
4827
+ styles: null,
4828
+ timings: '120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)',
4829
+ },
4830
+ options: null,
4831
+ },
4832
+ ],
4833
+ options: {},
4834
+ },
4754
4835
  };
4755
4836
 
4756
4837
  /**