@angular/material 16.0.1 → 16.0.2
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.
- package/button/index.d.ts +3 -2
- package/checkbox/_checkbox-theme.scss +9 -3
- package/core/style/_sass-utils.scss +7 -0
- package/core/tokens/m2/mdc/_linear-progress.scss +2 -5
- package/esm2022/autocomplete/autocomplete.mjs +3 -3
- package/esm2022/button/button-base.mjs +7 -11
- package/esm2022/button/button.mjs +3 -3
- package/esm2022/button/fab.mjs +5 -5
- package/esm2022/button/icon-button.mjs +3 -3
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/chips/chip-listbox.mjs +3 -3
- package/esm2022/chips/chip-option.mjs +3 -3
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/datepicker/calendar-body.mjs +29 -16
- package/esm2022/datepicker/datepicker-toggle.mjs +3 -3
- package/esm2022/icon/testing/icon-harness.mjs +7 -2
- package/esm2022/legacy-autocomplete/autocomplete.mjs +3 -3
- package/esm2022/legacy-chips/chip-list.mjs +3 -3
- package/esm2022/legacy-core/option/optgroup.mjs +3 -3
- package/esm2022/legacy-form-field/form-field.mjs +3 -3
- package/esm2022/legacy-menu/menu-item.mjs +3 -3
- package/esm2022/legacy-menu/menu.mjs +3 -3
- package/esm2022/legacy-paginator/paginator.mjs +3 -3
- package/esm2022/legacy-select/select.mjs +3 -3
- package/esm2022/legacy-table/table.mjs +3 -3
- package/esm2022/legacy-tabs/tab-group.mjs +3 -3
- package/esm2022/list/list-base.mjs +2 -1
- package/esm2022/menu/menu-item.mjs +3 -3
- package/esm2022/menu/menu.mjs +3 -3
- package/esm2022/paginator/paginator.mjs +3 -3
- package/esm2022/select/select.mjs +5 -5
- package/esm2022/sidenav/drawer.mjs +7 -7
- package/esm2022/sidenav/sidenav.mjs +7 -7
- package/esm2022/slide-toggle/slide-toggle.mjs +3 -3
- package/esm2022/stepper/stepper.mjs +3 -3
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/tabs/tab-group.mjs +3 -3
- package/esm2022/tooltip/tooltip.mjs +5 -1
- package/fesm2022/autocomplete.mjs +2 -2
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/button.mjs +14 -18
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +2 -2
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +4 -4
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +30 -17
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +6 -1
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/legacy-autocomplete.mjs +2 -2
- package/fesm2022/legacy-autocomplete.mjs.map +1 -1
- package/fesm2022/legacy-chips.mjs +2 -2
- package/fesm2022/legacy-chips.mjs.map +1 -1
- package/fesm2022/legacy-core.mjs +2 -2
- package/fesm2022/legacy-core.mjs.map +1 -1
- package/fesm2022/legacy-form-field.mjs +2 -2
- package/fesm2022/legacy-form-field.mjs.map +1 -1
- package/fesm2022/legacy-menu.mjs +4 -4
- package/fesm2022/legacy-menu.mjs.map +1 -1
- package/fesm2022/legacy-paginator.mjs +2 -2
- package/fesm2022/legacy-paginator.mjs.map +1 -1
- package/fesm2022/legacy-select.mjs +2 -2
- package/fesm2022/legacy-select.mjs.map +1 -1
- package/fesm2022/legacy-table.mjs +2 -2
- package/fesm2022/legacy-table.mjs.map +1 -1
- package/fesm2022/legacy-tabs.mjs +2 -2
- package/fesm2022/legacy-tabs.mjs.map +1 -1
- package/fesm2022/list.mjs +1 -0
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu.mjs +4 -4
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator.mjs +2 -2
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/select.mjs +4 -4
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +12 -12
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +2 -2
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/stepper.mjs +2 -2
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +2 -2
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs.mjs +2 -2
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +4 -0
- package/fesm2022/tooltip.mjs.map +1 -1
- package/list/index.d.ts +2 -1
- package/package.json +49 -49
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/mdc-migration/index_bundled.js +44 -44
- package/schematics/ng-update/index_bundled.js +25 -25
- package/tooltip/index.d.ts +4 -0
package/fesm2022/datepicker.mjs
CHANGED
|
@@ -17,7 +17,7 @@ import { Subject, Subscription, merge, of } from 'rxjs';
|
|
|
17
17
|
import { ESCAPE, hasModifierKey, SPACE, ENTER, PAGE_DOWN, PAGE_UP, END, HOME, DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, BACKSPACE } from '@angular/cdk/keycodes';
|
|
18
18
|
import * as i2 from '@angular/cdk/bidi';
|
|
19
19
|
import { Directionality } from '@angular/cdk/bidi';
|
|
20
|
-
import { Platform, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
20
|
+
import { normalizePassiveListenerOptions, Platform, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
21
21
|
import { take, startWith, filter } from 'rxjs/operators';
|
|
22
22
|
import { coerceBooleanProperty, coerceStringArray } from '@angular/cdk/coercion';
|
|
23
23
|
import { trigger, transition, animate, keyframes, style, state } from '@angular/animations';
|
|
@@ -108,6 +108,18 @@ class MatCalendarCell {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
let calendarBodyId = 1;
|
|
111
|
+
/** Event options that can be used to bind an active, capturing event. */
|
|
112
|
+
const activeCapturingEventOptions = normalizePassiveListenerOptions({
|
|
113
|
+
passive: false,
|
|
114
|
+
capture: true,
|
|
115
|
+
});
|
|
116
|
+
/** Event options that can be used to bind a passive, capturing event. */
|
|
117
|
+
const passiveCapturingEventOptions = normalizePassiveListenerOptions({
|
|
118
|
+
passive: true,
|
|
119
|
+
capture: true,
|
|
120
|
+
});
|
|
121
|
+
/** Event options that can be used to bind a passive, non-capturing event. */
|
|
122
|
+
const passiveEventOptions = normalizePassiveListenerOptions({ passive: true });
|
|
111
123
|
/**
|
|
112
124
|
* An internal component used to display calendar data in a table.
|
|
113
125
|
* @docs-private
|
|
@@ -259,13 +271,14 @@ class MatCalendarBody {
|
|
|
259
271
|
this._endDateLabelId = `${this._id}-end-date`;
|
|
260
272
|
_ngZone.runOutsideAngular(() => {
|
|
261
273
|
const element = _elementRef.nativeElement;
|
|
262
|
-
|
|
263
|
-
element.addEventListener('touchmove', this._touchmoveHandler,
|
|
264
|
-
element.addEventListener('
|
|
265
|
-
element.addEventListener('
|
|
266
|
-
element.addEventListener('
|
|
267
|
-
element.addEventListener('
|
|
268
|
-
element.addEventListener('
|
|
274
|
+
// `touchmove` is active since we need to call `preventDefault`.
|
|
275
|
+
element.addEventListener('touchmove', this._touchmoveHandler, activeCapturingEventOptions);
|
|
276
|
+
element.addEventListener('mouseenter', this._enterHandler, passiveCapturingEventOptions);
|
|
277
|
+
element.addEventListener('focus', this._enterHandler, passiveCapturingEventOptions);
|
|
278
|
+
element.addEventListener('mouseleave', this._leaveHandler, passiveCapturingEventOptions);
|
|
279
|
+
element.addEventListener('blur', this._leaveHandler, passiveCapturingEventOptions);
|
|
280
|
+
element.addEventListener('mousedown', this._mousedownHandler, passiveEventOptions);
|
|
281
|
+
element.addEventListener('touchstart', this._mousedownHandler, passiveEventOptions);
|
|
269
282
|
if (this._platform.isBrowser) {
|
|
270
283
|
window.addEventListener('mouseup', this._mouseupHandler);
|
|
271
284
|
window.addEventListener('touchend', this._touchendHandler);
|
|
@@ -307,13 +320,13 @@ class MatCalendarBody {
|
|
|
307
320
|
}
|
|
308
321
|
ngOnDestroy() {
|
|
309
322
|
const element = this._elementRef.nativeElement;
|
|
310
|
-
element.removeEventListener('
|
|
311
|
-
element.removeEventListener('
|
|
312
|
-
element.removeEventListener('focus', this._enterHandler,
|
|
313
|
-
element.removeEventListener('mouseleave', this._leaveHandler,
|
|
314
|
-
element.removeEventListener('blur', this._leaveHandler,
|
|
315
|
-
element.removeEventListener('mousedown', this._mousedownHandler);
|
|
316
|
-
element.removeEventListener('touchstart', this._mousedownHandler);
|
|
323
|
+
element.removeEventListener('touchmove', this._touchmoveHandler, activeCapturingEventOptions);
|
|
324
|
+
element.removeEventListener('mouseenter', this._enterHandler, passiveCapturingEventOptions);
|
|
325
|
+
element.removeEventListener('focus', this._enterHandler, passiveCapturingEventOptions);
|
|
326
|
+
element.removeEventListener('mouseleave', this._leaveHandler, passiveCapturingEventOptions);
|
|
327
|
+
element.removeEventListener('blur', this._leaveHandler, passiveCapturingEventOptions);
|
|
328
|
+
element.removeEventListener('mousedown', this._mousedownHandler, passiveEventOptions);
|
|
329
|
+
element.removeEventListener('touchstart', this._mousedownHandler, passiveEventOptions);
|
|
317
330
|
if (this._platform.isBrowser) {
|
|
318
331
|
window.removeEventListener('mouseup', this._mouseupHandler);
|
|
319
332
|
window.removeEventListener('touchend', this._touchendHandler);
|
|
@@ -3437,7 +3450,7 @@ class MatDatepickerToggle {
|
|
|
3437
3450
|
this._stateChanges = merge(this._intl.changes, datepickerStateChanged, inputStateChanged, datepickerToggled).subscribe(() => this._changeDetectorRef.markForCheck());
|
|
3438
3451
|
}
|
|
3439
3452
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MatDatepickerToggle, deps: [{ token: MatDatepickerIntl }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3440
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: "disabled", 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 <svg\n *ngIf=\"!_customIcon\"\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 <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 <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3453
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: { datepicker: ["for", "datepicker"], tabIndex: "tabIndex", ariaLabel: ["aria-label", "ariaLabel"], disabled: "disabled", 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 <svg\n *ngIf=\"!_customIcon\"\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 <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3441
3454
|
}
|
|
3442
3455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MatDatepickerToggle, decorators: [{
|
|
3443
3456
|
type: Component,
|
|
@@ -3453,7 +3466,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
3453
3466
|
// `stopPropagation` on it without affecting the user's `click` handlers. We need to stop
|
|
3454
3467
|
// it so that the input doesn't get focused automatically by the form field (See #21836).
|
|
3455
3468
|
'(click)': '_open($event)',
|
|
3456
|
-
}, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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 <svg\n *ngIf=\"!_customIcon\"\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 <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 <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"] }]
|
|
3469
|
+
}, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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 <svg\n *ngIf=\"!_customIcon\"\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 <ng-content select=\"[matDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".mat-datepicker-toggle{pointer-events:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"] }]
|
|
3457
3470
|
}], ctorParameters: function () { return [{ type: MatDatepickerIntl }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
3458
3471
|
type: Attribute,
|
|
3459
3472
|
args: ['tabindex']
|