@angular/material 17.0.0 → 17.1.0-next.0
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/index.d.ts +0 -2
- package/button/_button-theme.scss +4 -0
- package/button/_icon-button-theme.scss +5 -1
- package/card/testing/index.d.ts +1 -1
- package/checkbox/index.d.ts +1 -1
- package/chips/index.d.ts +71 -67
- package/core/index.d.ts +1 -1
- package/core/ripple/_ripple-theme.scss +51 -19
- package/core/tokens/m2/_index.scss +29 -8
- package/datepicker/index.d.ts +21 -23
- package/datepicker/testing/index.d.ts +1 -1
- package/dialog/index.d.ts +1 -1
- package/dialog/testing/index.d.ts +1 -1
- package/esm2022/autocomplete/autocomplete-trigger.mjs +7 -7
- package/esm2022/button/icon-button.mjs +4 -4
- package/esm2022/card/testing/card-harness.mjs +9 -1
- package/esm2022/checkbox/checkbox.mjs +29 -14
- package/esm2022/chips/chip-action.mjs +14 -13
- package/esm2022/chips/chip-grid.mjs +29 -16
- package/esm2022/chips/chip-input.mjs +14 -17
- package/esm2022/chips/chip-listbox.mjs +19 -22
- package/esm2022/chips/chip-option.mjs +11 -10
- package/esm2022/chips/chip-row.mjs +4 -4
- package/esm2022/chips/chip-set.mjs +19 -18
- package/esm2022/chips/chip.mjs +49 -42
- package/esm2022/core/ripple/ripple-ref.mjs +10 -2
- package/esm2022/core/ripple/ripple-renderer.mjs +11 -11
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/datepicker/calendar-body.mjs +2 -2
- package/esm2022/datepicker/date-range-input.mjs +10 -10
- package/esm2022/datepicker/datepicker-base.mjs +41 -49
- package/esm2022/datepicker/datepicker-input-base.mjs +6 -6
- package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
- package/esm2022/datepicker/testing/calendar-harness.mjs +11 -4
- package/esm2022/dialog/dialog-ref.mjs +10 -4
- package/esm2022/dialog/testing/dialog-harness.mjs +11 -4
- package/esm2022/dialog/testing/public-api.mjs +2 -2
- package/esm2022/expansion/accordion.mjs +7 -13
- package/esm2022/expansion/expansion-panel-header.mjs +13 -13
- package/esm2022/expansion/expansion-panel.mjs +6 -6
- package/esm2022/expansion/testing/expansion-harness.mjs +14 -6
- package/esm2022/grid-list/testing/grid-tile-harness.mjs +9 -3
- package/esm2022/icon/icon.mjs +24 -28
- package/esm2022/icon/testing/icon-harness-filters.mjs +7 -2
- package/esm2022/icon/testing/icon-harness.mjs +4 -3
- package/esm2022/list/list-base.mjs +6 -6
- package/esm2022/list/testing/list-item-harness-base.mjs +18 -6
- package/esm2022/list/testing/public-api.mjs +2 -2
- package/esm2022/paginator/paginator.mjs +32 -35
- package/esm2022/progress-bar/progress-bar.mjs +25 -20
- package/esm2022/progress-spinner/progress-spinner.mjs +34 -33
- package/esm2022/radio/radio.mjs +40 -34
- package/esm2022/select/select.mjs +45 -37
- package/esm2022/slider/slider-input.mjs +23 -22
- package/esm2022/slider/slider-interface.mjs +16 -1
- package/esm2022/slider/slider-thumb.mjs +6 -6
- package/esm2022/slider/slider.mjs +73 -72
- package/esm2022/slider/testing/slider-harness-filters.mjs +7 -2
- package/esm2022/slider/testing/slider-harness.mjs +4 -3
- package/esm2022/slider/testing/slider-thumb-harness.mjs +3 -2
- package/esm2022/sort/sort-header.mjs +16 -24
- package/esm2022/sort/sort.mjs +12 -19
- package/esm2022/stepper/step-header.mjs +7 -12
- package/esm2022/stepper/stepper.mjs +1 -1
- package/esm2022/stepper/testing/step-harness-filters.mjs +7 -2
- package/esm2022/stepper/testing/stepper-harness.mjs +4 -3
- package/esm2022/tabs/paginated-tab-header.mjs +12 -18
- package/esm2022/tabs/tab-group.mjs +54 -70
- package/esm2022/tabs/tab-header.mjs +7 -13
- package/esm2022/tabs/tab-label-wrapper.mjs +12 -8
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +43 -37
- package/esm2022/tabs/tab.mjs +12 -12
- package/esm2022/toolbar/testing/toolbar-harness.mjs +7 -2
- package/esm2022/toolbar/toolbar.mjs +11 -16
- package/esm2022/tree/node.mjs +20 -20
- package/esm2022/tree/padding.mjs +11 -4
- package/expansion/index.d.ts +11 -19
- package/expansion/testing/index.d.ts +1 -1
- package/fesm2022/autocomplete.mjs +6 -6
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/button.mjs +4 -4
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card/testing.mjs +9 -1
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +29 -14
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +144 -119
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +20 -12
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs +11 -4
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +57 -62
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +11 -4
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +10 -4
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs +14 -6
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +22 -26
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs +9 -3
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +10 -3
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +24 -27
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/list/testing.mjs +18 -6
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +5 -5
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/paginator.mjs +31 -34
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +25 -19
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +34 -32
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio.mjs +41 -34
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select.mjs +44 -36
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs +11 -4
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +109 -91
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/sort.mjs +25 -38
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs +10 -3
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +8 -12
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/tabs.mjs +130 -141
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar/testing.mjs +7 -2
- package/fesm2022/toolbar/testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +11 -15
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +22 -21
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +85 -49
- package/grid-list/_grid-list-theme.scss +47 -14
- package/grid-list/testing/index.d.ts +1 -1
- package/icon/index.d.ts +10 -16
- package/icon/testing/index.d.ts +1 -1
- package/input/_input-theme.scss +39 -12
- package/list/_list-theme.scss +115 -83
- package/list/testing/index.d.ts +2 -2
- package/package.json +7 -7
- package/paginator/index.d.ts +16 -17
- 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/progress-bar/index.d.ts +12 -15
- package/progress-spinner/index.d.ts +14 -15
- package/radio/index.d.ts +20 -22
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.mjs +2 -2
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -29
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +21 -19
- package/schematics/ng-generate/mdc-migration/index_bundled.js +55 -48
- package/schematics/ng-generate/mdc-migration/index_bundled.js.map +3 -3
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +9 -8
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +1 -2
- package/schematics/ng-update/index_bundled.js +31 -31
- package/select/index.d.ts +22 -17
- package/slide-toggle/_slide-toggle-theme.scss +78 -44
- package/slider/index.d.ts +30 -30
- package/slider/testing/index.d.ts +1 -1
- package/sort/_sort-theme.scss +51 -20
- package/sort/index.d.ts +15 -20
- package/stepper/_stepper-theme.scss +58 -25
- package/stepper/index.d.ts +5 -15
- package/stepper/testing/index.d.ts +1 -1
- package/table/_table-theme.scss +53 -20
- package/tabs/_tabs-theme.scss +87 -51
- package/tabs/index.d.ts +61 -64
- package/toolbar/index.d.ts +5 -12
- package/toolbar/testing/index.d.ts +1 -1
- package/tree/_tree-theme.scss +53 -21
- package/tree/index.d.ts +13 -15
package/fesm2022/select.mjs
CHANGED
|
@@ -3,9 +3,9 @@ import { Overlay, CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@
|
|
|
3
3
|
import * as i6 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { InjectionToken, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Self, Attribute, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
|
|
6
|
+
import { InjectionToken, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Self, Attribute, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
|
|
7
7
|
import * as i2 from '@angular/material/core';
|
|
8
|
-
import {
|
|
8
|
+
import { mixinErrorState, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionModule, MatCommonModule } from '@angular/material/core';
|
|
9
9
|
import * as i8 from '@angular/material/form-field';
|
|
10
10
|
import { MAT_FORM_FIELD, MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
|
|
11
11
|
import * as i1 from '@angular/cdk/scrolling';
|
|
@@ -13,7 +13,6 @@ import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
|
13
13
|
import * as i5 from '@angular/cdk/a11y';
|
|
14
14
|
import { removeAriaReferencedId, addAriaReferencedId, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
15
15
|
import * as i3 from '@angular/cdk/bidi';
|
|
16
|
-
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
17
16
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
18
17
|
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, hasModifierKey, A } from '@angular/cdk/keycodes';
|
|
19
18
|
import * as i4 from '@angular/forms';
|
|
@@ -114,7 +113,7 @@ class MatSelectChange {
|
|
|
114
113
|
}
|
|
115
114
|
// Boilerplate for applying mixins to MatSelect.
|
|
116
115
|
/** @docs-private */
|
|
117
|
-
const _MatSelectMixinBase =
|
|
116
|
+
const _MatSelectMixinBase = mixinErrorState(class {
|
|
118
117
|
constructor(_elementRef, _defaultErrorStateMatcher, _parentForm, _parentFormGroup,
|
|
119
118
|
/**
|
|
120
119
|
* Form control bound to the component.
|
|
@@ -134,7 +133,7 @@ const _MatSelectMixinBase = mixinDisableRipple(mixinTabIndex(mixinDisabled(mixin
|
|
|
134
133
|
*/
|
|
135
134
|
this.stateChanges = new Subject();
|
|
136
135
|
}
|
|
137
|
-
})
|
|
136
|
+
});
|
|
138
137
|
class MatSelect extends _MatSelectMixinBase {
|
|
139
138
|
/** Scrolls a particular option into the view. */
|
|
140
139
|
_scrollOptionIntoView(index) {
|
|
@@ -171,7 +170,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
171
170
|
return this._hideSingleSelectionIndicator;
|
|
172
171
|
}
|
|
173
172
|
set hideSingleSelectionIndicator(value) {
|
|
174
|
-
this._hideSingleSelectionIndicator =
|
|
173
|
+
this._hideSingleSelectionIndicator = value;
|
|
175
174
|
this._syncParentProperties();
|
|
176
175
|
}
|
|
177
176
|
/** Placeholder to be shown if no value has been selected. */
|
|
@@ -187,7 +186,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
187
186
|
return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
|
|
188
187
|
}
|
|
189
188
|
set required(value) {
|
|
190
|
-
this._required =
|
|
189
|
+
this._required = value;
|
|
191
190
|
this.stateChanges.next();
|
|
192
191
|
}
|
|
193
192
|
/** Whether the user should be allowed to select multiple options. */
|
|
@@ -198,14 +197,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
198
197
|
if (this._selectionModel && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
199
198
|
throw getMatSelectDynamicMultipleError();
|
|
200
199
|
}
|
|
201
|
-
this._multiple =
|
|
202
|
-
}
|
|
203
|
-
/** Whether to center the active option over the trigger. */
|
|
204
|
-
get disableOptionCentering() {
|
|
205
|
-
return this._disableOptionCentering;
|
|
206
|
-
}
|
|
207
|
-
set disableOptionCentering(value) {
|
|
208
|
-
this._disableOptionCentering = coerceBooleanProperty(value);
|
|
200
|
+
this._multiple = value;
|
|
209
201
|
}
|
|
210
202
|
/**
|
|
211
203
|
* Function to compare the option values with the selected values. The first argument
|
|
@@ -235,13 +227,6 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
235
227
|
this._onChange(newValue);
|
|
236
228
|
}
|
|
237
229
|
}
|
|
238
|
-
/** Time to wait in milliseconds after the last keystroke before moving focus to an item. */
|
|
239
|
-
get typeaheadDebounceInterval() {
|
|
240
|
-
return this._typeaheadDebounceInterval;
|
|
241
|
-
}
|
|
242
|
-
set typeaheadDebounceInterval(value) {
|
|
243
|
-
this._typeaheadDebounceInterval = coerceNumberProperty(value);
|
|
244
|
-
}
|
|
245
230
|
/** Unique id of the element. */
|
|
246
231
|
get id() {
|
|
247
232
|
return this._id;
|
|
@@ -315,9 +300,16 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
315
300
|
this._focused = false;
|
|
316
301
|
/** A name for this control that can be used by `mat-form-field`. */
|
|
317
302
|
this.controlType = 'mat-select';
|
|
303
|
+
/** Whether the select is disabled. */
|
|
304
|
+
this.disabled = false;
|
|
305
|
+
/** Whether ripples in the select are disabled. */
|
|
306
|
+
this.disableRipple = false;
|
|
307
|
+
/** Tab index of the select. */
|
|
308
|
+
this.tabIndex = 0;
|
|
318
309
|
this._hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;
|
|
319
310
|
this._multiple = false;
|
|
320
|
-
|
|
311
|
+
/** Whether to center the active option over the trigger. */
|
|
312
|
+
this.disableOptionCentering = this._defaultOptions?.disableOptionCentering ?? false;
|
|
321
313
|
/** Aria label of the select. */
|
|
322
314
|
this.ariaLabel = '';
|
|
323
315
|
/**
|
|
@@ -387,7 +379,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
387
379
|
// Note that we only want to set this when the defaults pass it in, otherwise it should
|
|
388
380
|
// stay as `undefined` so that it falls back to the default in the key manager.
|
|
389
381
|
if (_defaultOptions?.typeaheadDebounceInterval != null) {
|
|
390
|
-
this.
|
|
382
|
+
this.typeaheadDebounceInterval = _defaultOptions.typeaheadDebounceInterval;
|
|
391
383
|
}
|
|
392
384
|
this._scrollStrategyFactory = scrollStrategyFactory;
|
|
393
385
|
this._scrollStrategy = this._scrollStrategyFactory();
|
|
@@ -455,13 +447,13 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
455
447
|
}
|
|
456
448
|
}
|
|
457
449
|
ngOnChanges(changes) {
|
|
458
|
-
// Updating the disabled state is handled by
|
|
450
|
+
// Updating the disabled state is handled by the input, but we need to additionally let
|
|
459
451
|
// the parent form field know to run change detection when the disabled state changes.
|
|
460
452
|
if (changes['disabled'] || changes['userAriaDescribedBy']) {
|
|
461
453
|
this.stateChanges.next();
|
|
462
454
|
}
|
|
463
455
|
if (changes['typeaheadDebounceInterval'] && this._keyManager) {
|
|
464
|
-
this._keyManager.withTypeAhead(this.
|
|
456
|
+
this._keyManager.withTypeAhead(this.typeaheadDebounceInterval);
|
|
465
457
|
}
|
|
466
458
|
}
|
|
467
459
|
ngOnDestroy() {
|
|
@@ -831,7 +823,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
831
823
|
/** Sets up a key manager to listen to keyboard events on the overlay panel. */
|
|
832
824
|
_initKeyManager() {
|
|
833
825
|
this._keyManager = new ActiveDescendantKeyManager(this.options)
|
|
834
|
-
.withTypeAhead(this.
|
|
826
|
+
.withTypeAhead(this.typeaheadDebounceInterval)
|
|
835
827
|
.withVerticalOrientation()
|
|
836
828
|
.withHorizontalOrientation(this._isRtl() ? 'rtl' : 'ltr')
|
|
837
829
|
.withHomeAndEnd()
|
|
@@ -931,7 +923,7 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
931
923
|
}
|
|
932
924
|
/** Emits change event to set the model value. */
|
|
933
925
|
_propagateChanges(fallbackValue) {
|
|
934
|
-
let valueToEmit
|
|
926
|
+
let valueToEmit;
|
|
935
927
|
if (this.multiple) {
|
|
936
928
|
valueToEmit = this.selected.map(option => option.value);
|
|
937
929
|
}
|
|
@@ -1039,20 +1031,20 @@ class MatSelect extends _MatSelectMixinBase {
|
|
|
1039
1031
|
return this.panelOpen || !this.empty || (this.focused && !!this.placeholder);
|
|
1040
1032
|
}
|
|
1041
1033
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatSelect, deps: [{ token: i1.ViewportRuler }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: MAT_FORM_FIELD, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: 'tabindex', attribute: true }, { token: MAT_SELECT_SCROLL_STRATEGY }, { token: i5.LiveAnnouncer }, { token: MAT_SELECT_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1042
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.0", type: MatSelect, selector: "mat-select", inputs: {
|
|
1034
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.0", type: MatSelect, selector: "mat-select", inputs: { userAriaDescribedBy: ["aria-describedby", "userAriaDescribedBy"], panelClass: "panelClass", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute], placeholder: "placeholder", required: ["required", "required", booleanAttribute], multiple: ["multiple", "multiple", booleanAttribute], disableOptionCentering: ["disableOptionCentering", "disableOptionCentering", booleanAttribute], compareWith: "compareWith", value: "value", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], errorStateMatcher: "errorStateMatcher", typeaheadDebounceInterval: ["typeaheadDebounceInterval", "typeaheadDebounceInterval", numberAttribute], sortComparator: "sortComparator", id: "id", panelWidth: "panelWidth" }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "listbox", "ngSkipHydration": "" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-mdc-select-disabled": "disabled", "class.mat-mdc-select-invalid": "errorState", "class.mat-mdc-select-required": "required", "class.mat-mdc-select-empty": "empty", "class.mat-mdc-select-multiple": "multiple" }, classAttribute: "mat-mdc-select" }, providers: [
|
|
1043
1035
|
{ provide: MatFormFieldControl, useExisting: MatSelect },
|
|
1044
1036
|
{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
|
|
1045
1037
|
], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "_overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], exportAs: ["matSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"toggle()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n\n <div class=\"mat-mdc-select-value\" [attr.id]=\"_valueId\">\n @if (empty) {\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\">{{placeholder}}</span>\n } @else {\n <span class=\"mat-mdc-select-value-text\">\n @if (customTrigger) {\n <ng-content select=\"mat-select-trigger\"></ng-content>\n } @else {\n <span class=\"mat-mdc-select-min-line\">{{triggerValue}}</span>\n }\n </span>\n }\n </div>\n\n <div class=\"mat-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color);font-family:var(--mat-select-trigger-text-font);line-height:var(--mat-select-trigger-text-line-height);font-size:var(--mat-select-trigger-text-size);font-weight:var(--mat-select-trigger-text-weight);letter-spacing:var(--mat-select-trigger-text-tracking)}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color)}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:translateY(-8px)}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color)}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow{color:var(--mat-select-invalid-arrow-color)}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}div.mat-mdc-select-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color)}.cdk-high-contrast-active div.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i7.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], animations: [matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1046
1038
|
}
|
|
1047
1039
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatSelect, decorators: [{
|
|
1048
1040
|
type: Component,
|
|
1049
|
-
args: [{ selector: 'mat-select', exportAs: 'matSelect',
|
|
1041
|
+
args: [{ selector: 'mat-select', exportAs: 'matSelect', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1050
1042
|
'role': 'combobox',
|
|
1051
1043
|
'aria-autocomplete': 'none',
|
|
1052
1044
|
'aria-haspopup': 'listbox',
|
|
1053
1045
|
'class': 'mat-mdc-select',
|
|
1054
1046
|
'[attr.id]': 'id',
|
|
1055
|
-
'[attr.tabindex]': 'tabIndex',
|
|
1047
|
+
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
1056
1048
|
'[attr.aria-controls]': 'panelOpen ? id + "-panel" : null',
|
|
1057
1049
|
'[attr.aria-expanded]': 'panelOpen',
|
|
1058
1050
|
'[attr.aria-label]': 'ariaLabel || null',
|
|
@@ -1122,16 +1114,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1122
1114
|
args: [CdkConnectedOverlay]
|
|
1123
1115
|
}], panelClass: [{
|
|
1124
1116
|
type: Input
|
|
1117
|
+
}], disabled: [{
|
|
1118
|
+
type: Input,
|
|
1119
|
+
args: [{ transform: booleanAttribute }]
|
|
1120
|
+
}], disableRipple: [{
|
|
1121
|
+
type: Input,
|
|
1122
|
+
args: [{ transform: booleanAttribute }]
|
|
1123
|
+
}], tabIndex: [{
|
|
1124
|
+
type: Input,
|
|
1125
|
+
args: [{
|
|
1126
|
+
transform: (value) => (value == null ? 0 : numberAttribute(value)),
|
|
1127
|
+
}]
|
|
1125
1128
|
}], hideSingleSelectionIndicator: [{
|
|
1126
|
-
type: Input
|
|
1129
|
+
type: Input,
|
|
1130
|
+
args: [{ transform: booleanAttribute }]
|
|
1127
1131
|
}], placeholder: [{
|
|
1128
1132
|
type: Input
|
|
1129
1133
|
}], required: [{
|
|
1130
|
-
type: Input
|
|
1134
|
+
type: Input,
|
|
1135
|
+
args: [{ transform: booleanAttribute }]
|
|
1131
1136
|
}], multiple: [{
|
|
1132
|
-
type: Input
|
|
1137
|
+
type: Input,
|
|
1138
|
+
args: [{ transform: booleanAttribute }]
|
|
1133
1139
|
}], disableOptionCentering: [{
|
|
1134
|
-
type: Input
|
|
1140
|
+
type: Input,
|
|
1141
|
+
args: [{ transform: booleanAttribute }]
|
|
1135
1142
|
}], compareWith: [{
|
|
1136
1143
|
type: Input
|
|
1137
1144
|
}], value: [{
|
|
@@ -1145,7 +1152,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1145
1152
|
}], errorStateMatcher: [{
|
|
1146
1153
|
type: Input
|
|
1147
1154
|
}], typeaheadDebounceInterval: [{
|
|
1148
|
-
type: Input
|
|
1155
|
+
type: Input,
|
|
1156
|
+
args: [{ transform: numberAttribute }]
|
|
1149
1157
|
}], sortComparator: [{
|
|
1150
1158
|
type: Input
|
|
1151
1159
|
}], id: [{
|