@angular/material 19.0.0-next.9 → 19.0.0-rc.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.
- package/autocomplete/_autocomplete-theme.scss +8 -4
- package/autocomplete/index.d.ts +5 -6
- package/badge/_badge-theme.scss +10 -6
- package/badge/index.d.ts +1 -2
- package/bottom-sheet/_bottom-sheet-theme.scss +8 -4
- package/button/_button-theme.scss +10 -6
- package/button/_fab-theme.scss +10 -6
- package/button/_icon-button-theme.scss +8 -4
- package/button/index.d.ts +1 -1
- package/button-toggle/_button-toggle-theme.scss +11 -6
- package/button-toggle/index.d.ts +2 -1
- package/card/_card-theme.scss +8 -4
- package/card/index.d.ts +2 -3
- package/checkbox/_checkbox-theme.scss +10 -6
- package/chips/_chips-theme.scss +10 -6
- package/core/_core-theme.scss +4 -7
- package/core/_core.scss +2 -5
- package/core/m2/_theming.scss +2 -1
- package/core/option/_optgroup-theme.scss +8 -4
- package/core/option/_option-theme.scss +10 -6
- package/core/ripple/_ripple-theme.scss +8 -4
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +10 -6
- package/core/theming/_config-validation.scss +4 -4
- package/core/theming/_definition.scss +12 -2
- package/core/theming/_theming.scss +2 -1
- package/core/tokens/_m3-system.scss +55 -39
- package/core/tokens/_m3-tokens.scss +3 -3
- package/core/tokens/_token-definition.scss +4 -3
- package/core/tokens/m2/mat/_badge.scss +1 -1
- package/core/tokens/m2/mat/_datepicker.scss +1 -1
- package/core/tokens/m2/mat/_menu.scss +5 -3
- package/core/tokens/m2/mat/_sort.scss +1 -1
- package/core/tokens/m3/mat/_menu.scss +6 -3
- package/core/tokens/m3/mdc/_filled-text-field.scss +9 -11
- package/datepicker/_datepicker-theme.scss +10 -6
- package/datepicker/index.d.ts +36 -37
- package/dialog/_dialog-theme.scss +8 -4
- package/dialog/index.d.ts +1 -0
- package/divider/_divider-theme.scss +8 -4
- package/expansion/_expansion-theme.scss +8 -4
- package/fesm2022/autocomplete/testing.mjs +2 -5
- package/fesm2022/autocomplete/testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +225 -151
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge/testing.mjs +2 -5
- package/fesm2022/badge/testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +45 -36
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet/testing.mjs +1 -1
- package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +79 -57
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button/testing.mjs +2 -2
- package/fesm2022/button/testing.mjs.map +1 -1
- package/fesm2022/button-toggle/testing.mjs +4 -7
- package/fesm2022/button-toggle/testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +84 -47
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +98 -71
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card/testing.mjs +3 -6
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/card.mjs +53 -55
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox/testing.mjs +4 -7
- package/fesm2022/checkbox/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +105 -63
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips/testing.mjs +11 -14
- package/fesm2022/chips/testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +317 -268
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core/testing.mjs +5 -11
- package/fesm2022/core/testing.mjs.map +1 -1
- package/fesm2022/core.mjs +237 -187
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs +13 -22
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +821 -568
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +15 -9
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +221 -153
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider/testing.mjs +1 -1
- package/fesm2022/divider/testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +9 -11
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs +7 -10
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +85 -76
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field/testing.mjs +12 -15
- package/fesm2022/form-field/testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +179 -126
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs +11 -17
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +72 -50
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +8 -8
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +65 -45
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input/testing.mjs +3 -3
- package/fesm2022/input/testing.mjs.map +1 -1
- package/fesm2022/input.mjs +104 -72
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list/testing.mjs +21 -38
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +191 -180
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu/testing.mjs +3 -6
- package/fesm2022/menu/testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +178 -168
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator/testing.mjs +10 -13
- package/fesm2022/paginator/testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +84 -59
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar/testing.mjs +1 -1
- package/fesm2022/progress-bar/testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +35 -34
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner/testing.mjs +1 -1
- package/fesm2022/progress-spinner/testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +27 -13
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio/testing.mjs +6 -12
- package/fesm2022/radio/testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +123 -88
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select/testing.mjs +6 -9
- package/fesm2022/select/testing.mjs.map +1 -1
- package/fesm2022/select.mjs +220 -182
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav/testing.mjs +6 -6
- package/fesm2022/sidenav/testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +132 -119
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle/testing.mjs +3 -6
- package/fesm2022/slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +78 -49
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs +2 -2
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +260 -190
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar/testing.mjs +4 -7
- package/fesm2022/snack-bar/testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +141 -107
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort/testing.mjs +3 -6
- package/fesm2022/sort/testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +93 -72
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs +4 -4
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +143 -105
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table/testing.mjs +13 -25
- package/fesm2022/table/testing.mjs.map +1 -1
- package/fesm2022/table.mjs +182 -177
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs/testing.mjs +5 -5
- package/fesm2022/tabs/testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +326 -247
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker/testing.mjs +7 -16
- package/fesm2022/timepicker/testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +157 -153
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar/testing.mjs +2 -5
- package/fesm2022/toolbar/testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +25 -15
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip/testing.mjs +6 -9
- package/fesm2022/tooltip/testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +96 -72
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree/testing.mjs +3 -6
- package/fesm2022/tree/testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +56 -54
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +9 -5
- package/form-field/index.d.ts +9 -9
- package/grid-list/_grid-list-theme.scss +8 -4
- package/icon/_icon-theme.scss +10 -6
- package/input/_input-theme.scss +8 -4
- package/list/_list-theme.scss +8 -4
- package/list/index.d.ts +20 -21
- package/menu/_menu-theme.scss +8 -4
- package/menu/index.d.ts +15 -17
- package/package.json +2 -2
- package/paginator/_paginator-theme.scss +8 -4
- package/prebuilt-themes/azure-blue.css +1 -1
- package/prebuilt-themes/cyan-orange.css +1 -1
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/magenta-violet.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/prebuilt-themes/rose-red.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +11 -9
- package/progress-spinner/_progress-spinner-theme.scss +11 -9
- package/progress-spinner/index.d.ts +3 -4
- package/radio/_radio-theme.scss +10 -6
- package/radio/index.d.ts +2 -3
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-add/theming/create-custom-theme.js +1 -6
- package/schematics/ng-add/theming/create-custom-theme.mjs +1 -6
- package/schematics/ng-generate/theme-color/index_bundled.js +35 -9
- package/schematics/ng-generate/theme-color/index_bundled.js.map +2 -2
- package/schematics/ng-update/index_bundled.js +6 -1
- package/schematics/ng-update/index_bundled.js.map +1 -1
- package/select/_select-theme.scss +10 -6
- package/select/index.d.ts +7 -7
- package/sidenav/_sidenav-theme.scss +8 -4
- package/slide-toggle/_slide-toggle-theme.scss +10 -6
- package/slider/_slider-theme.scss +10 -6
- package/snack-bar/_snack-bar-theme.scss +10 -6
- package/sort/_sort-theme.scss +8 -4
- package/stepper/_stepper-theme.scss +10 -6
- package/stepper/index.d.ts +14 -15
- package/table/_table-theme.scss +8 -4
- package/tabs/_tabs-theme.scss +10 -6
- package/timepicker/_timepicker-theme.scss +10 -6
- package/toolbar/_toolbar-theme.scss +10 -6
- package/tooltip/_tooltip-theme.scss +8 -4
- package/tooltip/index.d.ts +5 -6
- package/tree/_tree-theme.scss +8 -4
package/fesm2022/core.mjs
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Version, InjectionToken, inject, NgModule, LOCALE_ID, Injectable, Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, ElementRef, ANIMATION_MODULE_TYPE, NgZone, Injector, Input, booleanAttribute, ChangeDetectorRef, EventEmitter, isSignal, Output, ViewChild } from '@angular/core';
|
|
3
|
-
import { HighContrastModeDetector, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y';
|
|
3
|
+
import { HighContrastModeDetector, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, _IdGenerator } from '@angular/cdk/a11y';
|
|
4
4
|
import { BidiModule } from '@angular/cdk/bidi';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { startWith } from 'rxjs/operators';
|
|
7
7
|
import { normalizePassiveListenerOptions, _getEventTarget, Platform } from '@angular/cdk/platform';
|
|
8
8
|
import { coerceElement } from '@angular/cdk/coercion';
|
|
9
|
-
import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
|
|
9
|
+
import { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';
|
|
10
10
|
import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
11
11
|
import { DOCUMENT } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
/** Current version of Angular Material. */
|
|
14
|
-
const VERSION = new Version('19.0.0-
|
|
14
|
+
const VERSION = new Version('19.0.0-rc.1');
|
|
15
15
|
|
|
16
16
|
/** @docs-private */
|
|
17
17
|
class AnimationCurves {
|
|
18
|
-
static
|
|
19
|
-
static
|
|
20
|
-
static
|
|
21
|
-
static
|
|
18
|
+
static STANDARD_CURVE = 'cubic-bezier(0.4,0.0,0.2,1)';
|
|
19
|
+
static DECELERATION_CURVE = 'cubic-bezier(0.0,0.0,0.2,1)';
|
|
20
|
+
static ACCELERATION_CURVE = 'cubic-bezier(0.4,0.0,1,1)';
|
|
21
|
+
static SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';
|
|
22
22
|
}
|
|
23
23
|
/** @docs-private */
|
|
24
24
|
class AnimationDurations {
|
|
25
|
-
static
|
|
26
|
-
static
|
|
27
|
-
static
|
|
25
|
+
static COMPLEX = '375ms';
|
|
26
|
+
static ENTERING = '225ms';
|
|
27
|
+
static EXITING = '195ms';
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -50,11 +50,11 @@ class MatCommonModule {
|
|
|
50
50
|
// in MatCommonModule.
|
|
51
51
|
inject(HighContrastModeDetector)._applyBodyHighContrastModeCssClasses();
|
|
52
52
|
}
|
|
53
|
-
static
|
|
54
|
-
static
|
|
55
|
-
static
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
54
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
|
|
55
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatCommonModule, imports: [BidiModule, BidiModule] });
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatCommonModule, decorators: [{
|
|
58
58
|
type: NgModule,
|
|
59
59
|
args: [{
|
|
60
60
|
imports: [BidiModule],
|
|
@@ -67,14 +67,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
67
67
|
* @docs-private
|
|
68
68
|
*/
|
|
69
69
|
class _ErrorStateTracker {
|
|
70
|
+
_defaultMatcher;
|
|
71
|
+
ngControl;
|
|
72
|
+
_parentFormGroup;
|
|
73
|
+
_parentForm;
|
|
74
|
+
_stateChanges;
|
|
75
|
+
/** Whether the tracker is currently in an error state. */
|
|
76
|
+
errorState = false;
|
|
77
|
+
/** User-defined matcher for the error state. */
|
|
78
|
+
matcher;
|
|
70
79
|
constructor(_defaultMatcher, ngControl, _parentFormGroup, _parentForm, _stateChanges) {
|
|
71
80
|
this._defaultMatcher = _defaultMatcher;
|
|
72
81
|
this.ngControl = ngControl;
|
|
73
82
|
this._parentFormGroup = _parentFormGroup;
|
|
74
83
|
this._parentForm = _parentForm;
|
|
75
84
|
this._stateChanges = _stateChanges;
|
|
76
|
-
/** Whether the tracker is currently in an error state. */
|
|
77
|
-
this.errorState = false;
|
|
78
85
|
}
|
|
79
86
|
/** Updates the error state based on the provided error state matcher. */
|
|
80
87
|
updateErrorState() {
|
|
@@ -102,11 +109,11 @@ function MAT_DATE_LOCALE_FACTORY() {
|
|
|
102
109
|
const NOT_IMPLEMENTED = 'Method not implemented';
|
|
103
110
|
/** Adapts type `D` to be usable as a date by cdk-based components that work with dates. */
|
|
104
111
|
class DateAdapter {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
/** The locale to use for all dates. */
|
|
113
|
+
locale;
|
|
114
|
+
_localeChanges = new Subject();
|
|
115
|
+
/** A stream that emits when the locale changes. */
|
|
116
|
+
localeChanges = this._localeChanges;
|
|
110
117
|
/**
|
|
111
118
|
* Sets the time of one date to the time of another.
|
|
112
119
|
* @param target Date whose time will be set.
|
|
@@ -299,15 +306,15 @@ function range(length, valueFunction) {
|
|
|
299
306
|
}
|
|
300
307
|
/** Adapts the native JS Date for use with cdk-based components that work with dates. */
|
|
301
308
|
class NativeDateAdapter extends DateAdapter {
|
|
309
|
+
/**
|
|
310
|
+
* @deprecated No longer being used. To be removed.
|
|
311
|
+
* @breaking-change 14.0.0
|
|
312
|
+
*/
|
|
313
|
+
useUtcForDisplay = false;
|
|
314
|
+
/** The injected locale. */
|
|
315
|
+
_matDateLocale = inject(MAT_DATE_LOCALE, { optional: true });
|
|
302
316
|
constructor() {
|
|
303
317
|
super();
|
|
304
|
-
/**
|
|
305
|
-
* @deprecated No longer being used. To be removed.
|
|
306
|
-
* @breaking-change 14.0.0
|
|
307
|
-
*/
|
|
308
|
-
this.useUtcForDisplay = false;
|
|
309
|
-
/** The injected locale. */
|
|
310
|
-
this._matDateLocale = inject(MAT_DATE_LOCALE, { optional: true });
|
|
311
318
|
const matDateLocale = inject(MAT_DATE_LOCALE, { optional: true });
|
|
312
319
|
if (matDateLocale !== undefined) {
|
|
313
320
|
this._matDateLocale = matDateLocale;
|
|
@@ -569,10 +576,10 @@ class NativeDateAdapter extends DateAdapter {
|
|
|
569
576
|
}
|
|
570
577
|
return null;
|
|
571
578
|
}
|
|
572
|
-
static
|
|
573
|
-
static
|
|
579
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
580
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateAdapter });
|
|
574
581
|
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateAdapter, decorators: [{
|
|
576
583
|
type: Injectable
|
|
577
584
|
}], ctorParameters: () => [] });
|
|
578
585
|
/** Checks whether a number is within a certain range. */
|
|
@@ -596,22 +603,22 @@ const MAT_NATIVE_DATE_FORMATS = {
|
|
|
596
603
|
};
|
|
597
604
|
|
|
598
605
|
class NativeDateModule {
|
|
599
|
-
static
|
|
600
|
-
static
|
|
601
|
-
static
|
|
606
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
607
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateModule });
|
|
608
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
|
|
602
609
|
}
|
|
603
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: NativeDateModule, decorators: [{
|
|
604
611
|
type: NgModule,
|
|
605
612
|
args: [{
|
|
606
613
|
providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
|
|
607
614
|
}]
|
|
608
615
|
}] });
|
|
609
616
|
class MatNativeDateModule {
|
|
610
|
-
static
|
|
611
|
-
static
|
|
612
|
-
static
|
|
617
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
618
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatNativeDateModule });
|
|
619
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatNativeDateModule, providers: [provideNativeDateAdapter()] });
|
|
613
620
|
}
|
|
614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatNativeDateModule, decorators: [{
|
|
615
622
|
type: NgModule,
|
|
616
623
|
args: [{
|
|
617
624
|
providers: [provideNativeDateAdapter()],
|
|
@@ -629,10 +636,10 @@ class ShowOnDirtyErrorStateMatcher {
|
|
|
629
636
|
isErrorState(control, form) {
|
|
630
637
|
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
|
631
638
|
}
|
|
632
|
-
static
|
|
633
|
-
static
|
|
639
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
640
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
|
|
634
641
|
}
|
|
635
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
|
|
636
643
|
type: Injectable
|
|
637
644
|
}] });
|
|
638
645
|
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
|
@@ -640,10 +647,10 @@ class ErrorStateMatcher {
|
|
|
640
647
|
isErrorState(control, form) {
|
|
641
648
|
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
642
649
|
}
|
|
643
|
-
static
|
|
644
|
-
static
|
|
650
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
651
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
|
|
645
652
|
}
|
|
646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: ErrorStateMatcher, decorators: [{
|
|
647
654
|
type: Injectable,
|
|
648
655
|
args: [{ providedIn: 'root' }]
|
|
649
656
|
}] });
|
|
@@ -653,10 +660,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
653
660
|
* @docs-private
|
|
654
661
|
*/
|
|
655
662
|
class _StructuralStylesLoader {
|
|
656
|
-
static
|
|
657
|
-
static
|
|
663
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _StructuralStylesLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
664
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: _StructuralStylesLoader, isStandalone: true, selector: "structural-styles", ngImport: i0, template: '', isInline: true, styles: [".mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:\"\"}@media(forced-colors: active){html{--mat-focus-indicator-display: block}}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
658
665
|
}
|
|
659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _StructuralStylesLoader, decorators: [{
|
|
660
667
|
type: Component,
|
|
661
668
|
args: [{ selector: 'structural-styles', encapsulation: ViewEncapsulation.None, template: '', changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:\"\"}@media(forced-colors: active){html{--mat-focus-indicator-display: block}}"] }]
|
|
662
669
|
}] });
|
|
@@ -667,10 +674,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
667
674
|
* counted by checking the query list's length.
|
|
668
675
|
*/
|
|
669
676
|
class MatLine {
|
|
670
|
-
static
|
|
671
|
-
static
|
|
677
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
678
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: MatLine, isStandalone: true, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
|
|
672
679
|
}
|
|
673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
680
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLine, decorators: [{
|
|
674
681
|
type: Directive,
|
|
675
682
|
args: [{
|
|
676
683
|
selector: '[mat-line], [matLine]',
|
|
@@ -701,11 +708,11 @@ function setClass(element, className, isAdd) {
|
|
|
701
708
|
element.nativeElement.classList.toggle(className, isAdd);
|
|
702
709
|
}
|
|
703
710
|
class MatLineModule {
|
|
704
|
-
static
|
|
705
|
-
static
|
|
706
|
-
static
|
|
711
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
712
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLineModule, imports: [MatCommonModule, MatLine], exports: [MatLine, MatCommonModule] });
|
|
713
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLineModule, imports: [MatCommonModule, MatCommonModule] });
|
|
707
714
|
}
|
|
708
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatLineModule, decorators: [{
|
|
709
716
|
type: NgModule,
|
|
710
717
|
args: [{
|
|
711
718
|
imports: [MatCommonModule, MatLine],
|
|
@@ -725,6 +732,12 @@ var RippleState;
|
|
|
725
732
|
* Reference to a previously launched ripple element.
|
|
726
733
|
*/
|
|
727
734
|
class RippleRef {
|
|
735
|
+
_renderer;
|
|
736
|
+
element;
|
|
737
|
+
config;
|
|
738
|
+
_animationForciblyDisabledThroughCss;
|
|
739
|
+
/** Current state of the ripple. */
|
|
740
|
+
state = RippleState.HIDDEN;
|
|
728
741
|
constructor(_renderer,
|
|
729
742
|
/** Reference to the ripple HTML element. */
|
|
730
743
|
element,
|
|
@@ -736,8 +749,6 @@ class RippleRef {
|
|
|
736
749
|
this.element = element;
|
|
737
750
|
this.config = config;
|
|
738
751
|
this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
|
|
739
|
-
/** Current state of the ripple. */
|
|
740
|
-
this.state = RippleState.HIDDEN;
|
|
741
752
|
}
|
|
742
753
|
/** Fades out the ripple element. */
|
|
743
754
|
fadeOut() {
|
|
@@ -752,20 +763,7 @@ const passiveCapturingEventOptions$1 = normalizePassiveListenerOptions({
|
|
|
752
763
|
});
|
|
753
764
|
/** Manages events through delegation so that as few event handlers as possible are bound. */
|
|
754
765
|
class RippleEventManager {
|
|
755
|
-
|
|
756
|
-
this._events = new Map();
|
|
757
|
-
/** Event handler that is bound and which dispatches the events to the different targets. */
|
|
758
|
-
this._delegateEventHandler = (event) => {
|
|
759
|
-
const target = _getEventTarget(event);
|
|
760
|
-
if (target) {
|
|
761
|
-
this._events.get(event.type)?.forEach((handlers, element) => {
|
|
762
|
-
if (element === target || element.contains(target)) {
|
|
763
|
-
handlers.forEach(handler => handler.handleEvent(event));
|
|
764
|
-
}
|
|
765
|
-
});
|
|
766
|
-
}
|
|
767
|
-
};
|
|
768
|
-
}
|
|
766
|
+
_events = new Map();
|
|
769
767
|
/** Adds an event handler. */
|
|
770
768
|
addHandler(ngZone, name, element, handler) {
|
|
771
769
|
const handlersForEvent = this._events.get(name);
|
|
@@ -804,6 +802,17 @@ class RippleEventManager {
|
|
|
804
802
|
document.removeEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions$1);
|
|
805
803
|
}
|
|
806
804
|
}
|
|
805
|
+
/** Event handler that is bound and which dispatches the events to the different targets. */
|
|
806
|
+
_delegateEventHandler = (event) => {
|
|
807
|
+
const target = _getEventTarget(event);
|
|
808
|
+
if (target) {
|
|
809
|
+
this._events.get(event.type)?.forEach((handlers, element) => {
|
|
810
|
+
if (element === target || element.contains(target)) {
|
|
811
|
+
handlers.forEach(handler => handler.handleEvent(event));
|
|
812
|
+
}
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
};
|
|
807
816
|
}
|
|
808
817
|
|
|
809
818
|
/**
|
|
@@ -829,10 +838,10 @@ const pointerDownEvents = ['mousedown', 'touchstart'];
|
|
|
829
838
|
/** Events that signal that the pointer is up. */
|
|
830
839
|
const pointerUpEvents = ['mouseup', 'mouseleave', 'touchend', 'touchcancel'];
|
|
831
840
|
class _MatRippleStylesLoader {
|
|
832
|
-
static
|
|
833
|
-
static
|
|
841
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _MatRippleStylesLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
842
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: _MatRippleStylesLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "mat-ripple-style-loader": "" } }, ngImport: i0, template: '', isInline: true, styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
834
843
|
}
|
|
835
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _MatRippleStylesLoader, decorators: [{
|
|
836
845
|
type: Component,
|
|
837
846
|
args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'mat-ripple-style-loader': '' }, styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}"] }]
|
|
838
847
|
}] });
|
|
@@ -844,22 +853,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
844
853
|
* @docs-private
|
|
845
854
|
*/
|
|
846
855
|
class RippleRenderer {
|
|
847
|
-
|
|
856
|
+
_target;
|
|
857
|
+
_ngZone;
|
|
858
|
+
_platform;
|
|
859
|
+
/** Element where the ripples are being added to. */
|
|
860
|
+
_containerElement;
|
|
861
|
+
/** Element which triggers the ripple elements on mouse events. */
|
|
862
|
+
_triggerElement;
|
|
863
|
+
/** Whether the pointer is currently down or not. */
|
|
864
|
+
_isPointerDown = false;
|
|
865
|
+
/**
|
|
866
|
+
* Map of currently active ripple references.
|
|
867
|
+
* The ripple reference is mapped to its element event listeners.
|
|
868
|
+
* The reason why `| null` is used is that event listeners are added only
|
|
869
|
+
* when the condition is truthy (see the `_startFadeOutTransition` method).
|
|
870
|
+
*/
|
|
871
|
+
_activeRipples = new Map();
|
|
872
|
+
/** Latest non-persistent ripple that was triggered. */
|
|
873
|
+
_mostRecentTransientRipple;
|
|
874
|
+
/** Time in milliseconds when the last touchstart event happened. */
|
|
875
|
+
_lastTouchStartEvent;
|
|
876
|
+
/** Whether pointer-up event listeners have been registered. */
|
|
877
|
+
_pointerUpEventsRegistered = false;
|
|
878
|
+
/**
|
|
879
|
+
* Cached dimensions of the ripple container. Set when the first
|
|
880
|
+
* ripple is shown and cleared once no more ripples are visible.
|
|
881
|
+
*/
|
|
882
|
+
_containerRect;
|
|
883
|
+
static _eventManager = new RippleEventManager();
|
|
848
884
|
constructor(_target, _ngZone, elementOrElementRef, _platform, injector) {
|
|
849
885
|
this._target = _target;
|
|
850
886
|
this._ngZone = _ngZone;
|
|
851
887
|
this._platform = _platform;
|
|
852
|
-
/** Whether the pointer is currently down or not. */
|
|
853
|
-
this._isPointerDown = false;
|
|
854
|
-
/**
|
|
855
|
-
* Map of currently active ripple references.
|
|
856
|
-
* The ripple reference is mapped to its element event listeners.
|
|
857
|
-
* The reason why `| null` is used is that event listeners are added only
|
|
858
|
-
* when the condition is truthy (see the `_startFadeOutTransition` method).
|
|
859
|
-
*/
|
|
860
|
-
this._activeRipples = new Map();
|
|
861
|
-
/** Whether pointer-up event listeners have been registered. */
|
|
862
|
-
this._pointerUpEventsRegistered = false;
|
|
863
888
|
// Only do anything if we're on the browser.
|
|
864
889
|
if (_platform.isBrowser) {
|
|
865
890
|
this._containerElement = coerceElement(elementOrElementRef);
|
|
@@ -1169,6 +1194,29 @@ function distanceToFurthestCorner(x, y, rect) {
|
|
|
1169
1194
|
/** Injection token that can be used to specify the global ripple options. */
|
|
1170
1195
|
const MAT_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('mat-ripple-global-options');
|
|
1171
1196
|
class MatRipple {
|
|
1197
|
+
_elementRef = inject(ElementRef);
|
|
1198
|
+
_animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
1199
|
+
/** Custom color for all ripples. */
|
|
1200
|
+
color;
|
|
1201
|
+
/** Whether the ripples should be visible outside the component's bounds. */
|
|
1202
|
+
unbounded;
|
|
1203
|
+
/**
|
|
1204
|
+
* Whether the ripple always originates from the center of the host element's bounds, rather
|
|
1205
|
+
* than originating from the location of the click event.
|
|
1206
|
+
*/
|
|
1207
|
+
centered;
|
|
1208
|
+
/**
|
|
1209
|
+
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1210
|
+
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1211
|
+
* bounding rectangle.
|
|
1212
|
+
*/
|
|
1213
|
+
radius = 0;
|
|
1214
|
+
/**
|
|
1215
|
+
* Configuration for the ripple animation. Allows modifying the enter and exit animation
|
|
1216
|
+
* duration of the ripples. The animation durations will be overwritten if the
|
|
1217
|
+
* `NoopAnimationsModule` is being used.
|
|
1218
|
+
*/
|
|
1219
|
+
animation;
|
|
1172
1220
|
/**
|
|
1173
1221
|
* Whether click events will not trigger the ripple. Ripples can be still launched manually
|
|
1174
1222
|
* by using the `launch()` method.
|
|
@@ -1183,6 +1231,7 @@ class MatRipple {
|
|
|
1183
1231
|
this._disabled = value;
|
|
1184
1232
|
this._setupTriggerEventsIfEnabled();
|
|
1185
1233
|
}
|
|
1234
|
+
_disabled = false;
|
|
1186
1235
|
/**
|
|
1187
1236
|
* The element that triggers the ripple when click events are received.
|
|
1188
1237
|
* Defaults to the directive's host element.
|
|
@@ -1194,18 +1243,14 @@ class MatRipple {
|
|
|
1194
1243
|
this._trigger = trigger;
|
|
1195
1244
|
this._setupTriggerEventsIfEnabled();
|
|
1196
1245
|
}
|
|
1246
|
+
_trigger;
|
|
1247
|
+
/** Renderer for the ripple DOM manipulations. */
|
|
1248
|
+
_rippleRenderer;
|
|
1249
|
+
/** Options that are set globally for all ripples. */
|
|
1250
|
+
_globalOptions;
|
|
1251
|
+
/** @docs-private Whether ripple directive is initialized and the input bindings are set. */
|
|
1252
|
+
_isInitialized = false;
|
|
1197
1253
|
constructor() {
|
|
1198
|
-
this._elementRef = inject(ElementRef);
|
|
1199
|
-
this._animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
1200
|
-
/**
|
|
1201
|
-
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1202
|
-
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1203
|
-
* bounding rectangle.
|
|
1204
|
-
*/
|
|
1205
|
-
this.radius = 0;
|
|
1206
|
-
this._disabled = false;
|
|
1207
|
-
/** @docs-private Whether ripple directive is initialized and the input bindings are set. */
|
|
1208
|
-
this._isInitialized = false;
|
|
1209
1254
|
const ngZone = inject(NgZone);
|
|
1210
1255
|
const platform = inject(Platform);
|
|
1211
1256
|
const globalOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, { optional: true });
|
|
@@ -1269,10 +1314,10 @@ class MatRipple {
|
|
|
1269
1314
|
return this._rippleRenderer.fadeInRipple(0, 0, { ...this.rippleConfig, ...configOrX });
|
|
1270
1315
|
}
|
|
1271
1316
|
}
|
|
1272
|
-
static
|
|
1273
|
-
static
|
|
1317
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRipple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1318
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: MatRipple, isStandalone: true, selector: "[mat-ripple], [matRipple]", inputs: { color: ["matRippleColor", "color"], unbounded: ["matRippleUnbounded", "unbounded"], centered: ["matRippleCentered", "centered"], radius: ["matRippleRadius", "radius"], animation: ["matRippleAnimation", "animation"], disabled: ["matRippleDisabled", "disabled"], trigger: ["matRippleTrigger", "trigger"] }, host: { properties: { "class.mat-ripple-unbounded": "unbounded" }, classAttribute: "mat-ripple" }, exportAs: ["matRipple"], ngImport: i0 });
|
|
1274
1319
|
}
|
|
1275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRipple, decorators: [{
|
|
1276
1321
|
type: Directive,
|
|
1277
1322
|
args: [{
|
|
1278
1323
|
selector: '[mat-ripple], [matRipple]',
|
|
@@ -1306,11 +1351,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
1306
1351
|
}] } });
|
|
1307
1352
|
|
|
1308
1353
|
class MatRippleModule {
|
|
1309
|
-
static
|
|
1310
|
-
static
|
|
1311
|
-
static
|
|
1354
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1355
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleModule, imports: [MatCommonModule, MatRipple], exports: [MatRipple, MatCommonModule] });
|
|
1356
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleModule, imports: [MatCommonModule, MatCommonModule] });
|
|
1312
1357
|
}
|
|
1313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleModule, decorators: [{
|
|
1314
1359
|
type: NgModule,
|
|
1315
1360
|
args: [{
|
|
1316
1361
|
imports: [MatCommonModule, MatRipple],
|
|
@@ -1332,22 +1377,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
1332
1377
|
* @docs-private
|
|
1333
1378
|
*/
|
|
1334
1379
|
class MatPseudoCheckbox {
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
}
|
|
1347
|
-
static
|
|
1348
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-next.10", type: MatPseudoCheckbox, isStandalone: true, selector: "mat-pseudo-checkbox", inputs: { state: "state", disabled: "disabled", appearance: "appearance" }, host: { properties: { "class.mat-pseudo-checkbox-indeterminate": "state === \"indeterminate\"", "class.mat-pseudo-checkbox-checked": "state === \"checked\"", "class.mat-pseudo-checkbox-disabled": "disabled", "class.mat-pseudo-checkbox-minimal": "appearance === \"minimal\"", "class.mat-pseudo-checkbox-full": "appearance === \"full\"", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"" }, classAttribute: "mat-pseudo-checkbox" }, ngImport: i0, template: '', isInline: true, styles: [".mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1380
|
+
_animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
1381
|
+
/** Display state of the checkbox. */
|
|
1382
|
+
state = 'unchecked';
|
|
1383
|
+
/** Whether the checkbox is disabled. */
|
|
1384
|
+
disabled = false;
|
|
1385
|
+
/**
|
|
1386
|
+
* Appearance of the pseudo checkbox. Default appearance of 'full' renders a checkmark/mixedmark
|
|
1387
|
+
* indicator inside a square box. 'minimal' appearance only renders the checkmark/mixedmark.
|
|
1388
|
+
*/
|
|
1389
|
+
appearance = 'full';
|
|
1390
|
+
constructor() { }
|
|
1391
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1392
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: MatPseudoCheckbox, isStandalone: true, selector: "mat-pseudo-checkbox", inputs: { state: "state", disabled: "disabled", appearance: "appearance" }, host: { properties: { "class.mat-pseudo-checkbox-indeterminate": "state === \"indeterminate\"", "class.mat-pseudo-checkbox-checked": "state === \"checked\"", "class.mat-pseudo-checkbox-disabled": "disabled", "class.mat-pseudo-checkbox-minimal": "appearance === \"minimal\"", "class.mat-pseudo-checkbox-full": "appearance === \"full\"", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"" }, classAttribute: "mat-pseudo-checkbox" }, ngImport: i0, template: '', isInline: true, styles: [".mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-minimal-pseudo-checkbox-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-full-pseudo-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-full-pseudo-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-full-pseudo-checkbox-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-full-pseudo-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-full-pseudo-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-full-pseudo-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1349
1393
|
}
|
|
1350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
|
|
1351
1395
|
type: Component,
|
|
1352
1396
|
args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: {
|
|
1353
1397
|
'class': 'mat-pseudo-checkbox',
|
|
@@ -1367,11 +1411,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
1367
1411
|
}] } });
|
|
1368
1412
|
|
|
1369
1413
|
class MatPseudoCheckboxModule {
|
|
1370
|
-
static
|
|
1371
|
-
static
|
|
1372
|
-
static
|
|
1414
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1415
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckboxModule, imports: [MatCommonModule, MatPseudoCheckbox], exports: [MatPseudoCheckbox] });
|
|
1416
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckboxModule, imports: [MatCommonModule] });
|
|
1373
1417
|
}
|
|
1374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
|
|
1375
1419
|
type: NgModule,
|
|
1376
1420
|
args: [{
|
|
1377
1421
|
imports: [MatCommonModule, MatPseudoCheckbox],
|
|
@@ -1403,8 +1447,6 @@ const MAT_OPTION_PARENT_COMPONENT = new InjectionToken('MAT_OPTION_PARENT_COMPON
|
|
|
1403
1447
|
// won't read out the description at all.
|
|
1404
1448
|
// 3. `<mat-option aria-labelledby="optionLabel groupLabel"` - This works on Chrome, but Safari
|
|
1405
1449
|
// doesn't read out the text at all. Furthermore, on
|
|
1406
|
-
// Counter for unique group ids.
|
|
1407
|
-
let _uniqueOptgroupIdCounter = 0;
|
|
1408
1450
|
/**
|
|
1409
1451
|
* Injection token that can be used to reference instances of `MatOptgroup`. It serves as
|
|
1410
1452
|
* alternative token to the actual `MatOptgroup` class which could cause unnecessary
|
|
@@ -1415,18 +1457,22 @@ const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
|
|
|
1415
1457
|
* Component that is used to group instances of `mat-option`.
|
|
1416
1458
|
*/
|
|
1417
1459
|
class MatOptgroup {
|
|
1460
|
+
/** Label for the option group. */
|
|
1461
|
+
label;
|
|
1462
|
+
/** whether the option group is disabled. */
|
|
1463
|
+
disabled = false;
|
|
1464
|
+
/** Unique id for the underlying label. */
|
|
1465
|
+
_labelId = inject(_IdGenerator).getId('mat-optgroup-label-');
|
|
1466
|
+
/** Whether the group is in inert a11y mode. */
|
|
1467
|
+
_inert;
|
|
1418
1468
|
constructor() {
|
|
1419
|
-
/** whether the option group is disabled. */
|
|
1420
|
-
this.disabled = false;
|
|
1421
|
-
/** Unique id for the underlying label. */
|
|
1422
|
-
this._labelId = `mat-optgroup-label-${_uniqueOptgroupIdCounter++}`;
|
|
1423
1469
|
const parent = inject(MAT_OPTION_PARENT_COMPONENT, { optional: true });
|
|
1424
1470
|
this._inert = parent?.inertGroups ?? false;
|
|
1425
1471
|
}
|
|
1426
|
-
static
|
|
1427
|
-
static
|
|
1472
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptgroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1473
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0-rc.0", type: MatOptgroup, isStandalone: true, selector: "mat-optgroup", inputs: { label: "label", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "attr.role": "_inert ? null : \"group\"", "attr.aria-disabled": "_inert ? null : disabled.toString()", "attr.aria-labelledby": "_inert ? null : _labelId" }, classAttribute: "mat-mdc-optgroup" }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], exportAs: ["matOptgroup"], ngImport: i0, template: "<span\n class=\"mat-mdc-optgroup-label\"\n role=\"presentation\"\n [class.mdc-list-item--disabled]=\"disabled\"\n [id]=\"_labelId\">\n <span class=\"mdc-list-item__primary-text\">{{ label }} <ng-content></ng-content></span>\n</span>\n\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-mdc-optgroup{color:var(--mat-optgroup-label-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mat-optgroup-label-text-font, var(--mat-sys-title-small-font));line-height:var(--mat-optgroup-label-text-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-optgroup-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-optgroup-label-text-tracking, var(--mat-sys-title-small-tracking));font-weight:var(--mat-optgroup-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-optgroup-label{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;outline:none}.mat-mdc-optgroup-label.mdc-list-item--disabled{opacity:.38}.mat-mdc-optgroup-label .mdc-list-item__primary-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;white-space:normal}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1428
1474
|
}
|
|
1429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptgroup, decorators: [{
|
|
1430
1476
|
type: Component,
|
|
1431
1477
|
args: [{ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1432
1478
|
'class': 'mat-mdc-optgroup',
|
|
@@ -1441,13 +1487,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
1441
1487
|
args: [{ transform: booleanAttribute }]
|
|
1442
1488
|
}] } });
|
|
1443
1489
|
|
|
1444
|
-
/**
|
|
1445
|
-
* Option IDs need to be unique across components, so this counter exists outside of
|
|
1446
|
-
* the component definition.
|
|
1447
|
-
*/
|
|
1448
|
-
let _uniqueIdCounter = 0;
|
|
1449
1490
|
/** Event object emitted by MatOption when selected or deselected. */
|
|
1450
1491
|
class MatOptionSelectionChange {
|
|
1492
|
+
source;
|
|
1493
|
+
isUserInput;
|
|
1451
1494
|
constructor(
|
|
1452
1495
|
/** Reference to the option that emitted the event. */
|
|
1453
1496
|
source,
|
|
@@ -1461,6 +1504,15 @@ class MatOptionSelectionChange {
|
|
|
1461
1504
|
* Single option inside of a `<mat-select>` element.
|
|
1462
1505
|
*/
|
|
1463
1506
|
class MatOption {
|
|
1507
|
+
_element = inject(ElementRef);
|
|
1508
|
+
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
1509
|
+
_parent = inject(MAT_OPTION_PARENT_COMPONENT, { optional: true });
|
|
1510
|
+
group = inject(MAT_OPTGROUP, { optional: true });
|
|
1511
|
+
_signalDisableRipple = false;
|
|
1512
|
+
_selected = false;
|
|
1513
|
+
_active = false;
|
|
1514
|
+
_disabled = false;
|
|
1515
|
+
_mostRecentViewValue = '';
|
|
1464
1516
|
/** Whether the wrapping component is in multiple selection mode. */
|
|
1465
1517
|
get multiple() {
|
|
1466
1518
|
return this._parent && this._parent.multiple;
|
|
@@ -1469,6 +1521,10 @@ class MatOption {
|
|
|
1469
1521
|
get selected() {
|
|
1470
1522
|
return this._selected;
|
|
1471
1523
|
}
|
|
1524
|
+
/** The form value of the option. */
|
|
1525
|
+
value;
|
|
1526
|
+
/** The unique ID of the option. */
|
|
1527
|
+
id = inject(_IdGenerator).getId('mat-option-');
|
|
1472
1528
|
/** Whether the option is disabled. */
|
|
1473
1529
|
get disabled() {
|
|
1474
1530
|
return (this.group && this.group.disabled) || this._disabled;
|
|
@@ -1486,24 +1542,16 @@ class MatOption {
|
|
|
1486
1542
|
get hideSingleSelectionIndicator() {
|
|
1487
1543
|
return !!(this._parent && this._parent.hideSingleSelectionIndicator);
|
|
1488
1544
|
}
|
|
1545
|
+
/** Event emitted when the option is selected or deselected. */
|
|
1546
|
+
// tslint:disable-next-line:no-output-on-prefix
|
|
1547
|
+
onSelectionChange = new EventEmitter();
|
|
1548
|
+
/** Element containing the option's text. */
|
|
1549
|
+
_text;
|
|
1550
|
+
/** Emits when the state of the option changes and any parents have to be notified. */
|
|
1551
|
+
_stateChanges = new Subject();
|
|
1489
1552
|
constructor() {
|
|
1490
|
-
this._element = inject(ElementRef);
|
|
1491
|
-
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
1492
|
-
this._parent = inject(MAT_OPTION_PARENT_COMPONENT, { optional: true });
|
|
1493
|
-
this.group = inject(MAT_OPTGROUP, { optional: true });
|
|
1494
|
-
this._signalDisableRipple = false;
|
|
1495
|
-
this._selected = false;
|
|
1496
|
-
this._active = false;
|
|
1497
|
-
this._disabled = false;
|
|
1498
|
-
this._mostRecentViewValue = '';
|
|
1499
|
-
/** The unique ID of the option. */
|
|
1500
|
-
this.id = `mat-option-${_uniqueIdCounter++}`;
|
|
1501
|
-
/** Event emitted when the option is selected or deselected. */
|
|
1502
|
-
// tslint:disable-next-line:no-output-on-prefix
|
|
1503
|
-
this.onSelectionChange = new EventEmitter();
|
|
1504
|
-
/** Emits when the state of the option changes and any parents have to be notified. */
|
|
1505
|
-
this._stateChanges = new Subject();
|
|
1506
1553
|
inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);
|
|
1554
|
+
inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);
|
|
1507
1555
|
this._signalDisableRipple = !!this._parent && isSignal(this._parent.disableRipple);
|
|
1508
1556
|
}
|
|
1509
1557
|
/**
|
|
@@ -1631,10 +1679,10 @@ class MatOption {
|
|
|
1631
1679
|
_emitSelectionChangeEvent(isUserInput = false) {
|
|
1632
1680
|
this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
|
|
1633
1681
|
}
|
|
1634
|
-
static
|
|
1635
|
-
static
|
|
1682
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOption, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0-rc.0", type: MatOption, isStandalone: true, selector: "mat-option", inputs: { value: "value", id: "id", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { onSelectionChange: "onSelectionChange" }, host: { attributes: { "role": "option" }, listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "class.mdc-list-item--selected": "selected", "class.mat-mdc-option-multiple": "multiple", "class.mat-mdc-option-active": "active", "class.mdc-list-item--disabled": "disabled", "id": "id", "attr.aria-selected": "selected", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "mat-mdc-option mdc-list-item" }, viewQueries: [{ propertyName: "_text", first: true, predicate: ["text"], descendants: true, static: true }], exportAs: ["matOption"], ngImport: i0, template: "<!-- Set aria-hidden=\"true\" to this DOM node and other decorative nodes in this file. This might\n be contributing to issue where sometimes VoiceOver focuses on a TextNode in the a11y tree instead\n of the Option node (#23202). Most assistive technology will generally ignore non-role,\n non-text-content elements. Adding aria-hidden seems to make VoiceOver behave more consistently. -->\n@if (multiple) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n aria-hidden=\"true\"></mat-pseudo-checkbox>\n}\n\n<ng-content select=\"mat-icon\"></ng-content>\n\n<span class=\"mdc-list-item__primary-text\" #text><ng-content></ng-content></span>\n\n<!-- Render checkmark at the end for single-selection. -->\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n <mat-pseudo-checkbox\n class=\"mat-mdc-option-pseudo-checkbox\"\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"></mat-pseudo-checkbox>\n}\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n@if (group && group._inert) {\n <span class=\"cdk-visually-hidden\">({{ group.label }})</span>\n}\n\n<div class=\"mat-mdc-option-ripple mat-focus-indicator\" aria-hidden=\"true\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\" [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors: active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{right:auto;left:16px}}.mat-mdc-option-multiple{--mdc-list-list-item-selected-container-color:var(--mdc-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-focus-indicator::before{content:\"\"}"], dependencies: [{ kind: "component", type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: ["state", "disabled", "appearance"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1636
1684
|
}
|
|
1637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOption, decorators: [{
|
|
1638
1686
|
type: Component,
|
|
1639
1687
|
args: [{ selector: 'mat-option', exportAs: 'matOption', host: {
|
|
1640
1688
|
'role': 'option',
|
|
@@ -1711,11 +1759,11 @@ function _getOptionScrollPosition(optionOffset, optionHeight, currentScrollPosit
|
|
|
1711
1759
|
}
|
|
1712
1760
|
|
|
1713
1761
|
class MatOptionModule {
|
|
1714
|
-
static
|
|
1715
|
-
static
|
|
1716
|
-
static
|
|
1762
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1763
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptionModule, imports: [MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, MatOption, MatOptgroup], exports: [MatOption, MatOptgroup] });
|
|
1764
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptionModule, imports: [MatRippleModule, MatCommonModule, MatPseudoCheckboxModule] });
|
|
1717
1765
|
}
|
|
1718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatOptionModule, decorators: [{
|
|
1719
1767
|
type: NgModule,
|
|
1720
1768
|
args: [{
|
|
1721
1769
|
imports: [MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, MatOption, MatOptgroup],
|
|
@@ -1748,28 +1796,14 @@ const matRippleDisabled = 'mat-ripple-loader-disabled';
|
|
|
1748
1796
|
* @docs-private
|
|
1749
1797
|
*/
|
|
1750
1798
|
class MatRippleLoader {
|
|
1799
|
+
_document = inject(DOCUMENT, { optional: true });
|
|
1800
|
+
_animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
1801
|
+
_globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, { optional: true });
|
|
1802
|
+
_platform = inject(Platform);
|
|
1803
|
+
_ngZone = inject(NgZone);
|
|
1804
|
+
_injector = inject(Injector);
|
|
1805
|
+
_hosts = new Map();
|
|
1751
1806
|
constructor() {
|
|
1752
|
-
this._document = inject(DOCUMENT, { optional: true });
|
|
1753
|
-
this._animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
1754
|
-
this._globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, { optional: true });
|
|
1755
|
-
this._platform = inject(Platform);
|
|
1756
|
-
this._ngZone = inject(NgZone);
|
|
1757
|
-
this._injector = inject(Injector);
|
|
1758
|
-
this._hosts = new Map();
|
|
1759
|
-
/**
|
|
1760
|
-
* Handles creating and attaching component internals
|
|
1761
|
-
* when a component is initially interacted with.
|
|
1762
|
-
*/
|
|
1763
|
-
this._onInteraction = (event) => {
|
|
1764
|
-
const eventTarget = _getEventTarget(event);
|
|
1765
|
-
if (eventTarget instanceof HTMLElement) {
|
|
1766
|
-
// TODO(wagnermaciel): Consider batching these events to improve runtime performance.
|
|
1767
|
-
const element = eventTarget.closest(`[${matRippleUninitialized}="${this._globalRippleOptions?.namespace ?? ''}"]`);
|
|
1768
|
-
if (element) {
|
|
1769
|
-
this._createRipple(element);
|
|
1770
|
-
}
|
|
1771
|
-
}
|
|
1772
|
-
};
|
|
1773
1807
|
this._ngZone.runOutsideAngular(() => {
|
|
1774
1808
|
for (const event of rippleInteractionEvents) {
|
|
1775
1809
|
this._document?.addEventListener(event, this._onInteraction, eventListenerOptions);
|
|
@@ -1826,6 +1860,20 @@ class MatRippleLoader {
|
|
|
1826
1860
|
host.removeAttribute(matRippleDisabled);
|
|
1827
1861
|
}
|
|
1828
1862
|
}
|
|
1863
|
+
/**
|
|
1864
|
+
* Handles creating and attaching component internals
|
|
1865
|
+
* when a component is initially interacted with.
|
|
1866
|
+
*/
|
|
1867
|
+
_onInteraction = (event) => {
|
|
1868
|
+
const eventTarget = _getEventTarget(event);
|
|
1869
|
+
if (eventTarget instanceof HTMLElement) {
|
|
1870
|
+
// TODO(wagnermaciel): Consider batching these events to improve runtime performance.
|
|
1871
|
+
const element = eventTarget.closest(`[${matRippleUninitialized}="${this._globalRippleOptions?.namespace ?? ''}"]`);
|
|
1872
|
+
if (element) {
|
|
1873
|
+
this._createRipple(element);
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
};
|
|
1829
1877
|
/** Creates a MatRipple and appends it to the given element. */
|
|
1830
1878
|
_createRipple(host) {
|
|
1831
1879
|
if (!this._document || this._hosts.has(host)) {
|
|
@@ -1874,10 +1922,10 @@ class MatRippleLoader {
|
|
|
1874
1922
|
this._hosts.delete(host);
|
|
1875
1923
|
}
|
|
1876
1924
|
}
|
|
1877
|
-
static
|
|
1878
|
-
static
|
|
1925
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1926
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleLoader, providedIn: 'root' });
|
|
1879
1927
|
}
|
|
1880
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: MatRippleLoader, decorators: [{
|
|
1881
1929
|
type: Injectable,
|
|
1882
1930
|
args: [{ providedIn: 'root' }]
|
|
1883
1931
|
}], ctorParameters: () => [] });
|
|
@@ -1888,10 +1936,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10",
|
|
|
1888
1936
|
* @docs-private
|
|
1889
1937
|
*/
|
|
1890
1938
|
class _MatInternalFormField {
|
|
1891
|
-
|
|
1892
|
-
|
|
1939
|
+
/** Position of the label relative to the content. */
|
|
1940
|
+
labelPosition;
|
|
1941
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _MatInternalFormField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1942
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-rc.0", type: _MatInternalFormField, isStandalone: true, selector: "div[mat-internal-form-field]", inputs: { labelPosition: "labelPosition" }, host: { properties: { "class.mdc-form-field--align-end": "labelPosition === \"before\"" }, classAttribute: "mdc-form-field mat-internal-form-field" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1893
1943
|
}
|
|
1894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-
|
|
1944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-rc.0", ngImport: i0, type: _MatInternalFormField, decorators: [{
|
|
1895
1945
|
type: Component,
|
|
1896
1946
|
args: [{ selector: 'div[mat-internal-form-field]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1897
1947
|
'class': 'mdc-form-field mat-internal-form-field',
|