@angular/material 19.2.0-next.0 → 19.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/index.d.ts +2 -4
- package/bottom-sheet/index.d.ts +17 -6
- package/button/_button-base.scss +3 -3
- package/checkbox/_checkbox-common.scss +10 -10
- package/core/index.d.ts +1 -0
- package/datepicker/index.d.ts +11 -8
- package/dialog/index.d.ts +5 -1
- package/fesm2022/autocomplete.mjs +19 -45
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge.mjs +10 -10
- 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 -50
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +11 -11
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +42 -42
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card.mjs +46 -46
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +16 -16
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +45 -46
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +74 -76
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +181 -160
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog.mjs +31 -27
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider.mjs +7 -7
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion.mjs +26 -26
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field.mjs +69 -62
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +22 -22
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +7 -7
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +10 -10
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input.mjs +7 -7
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list.mjs +49 -49
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu.mjs +27 -30
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator.mjs +10 -10
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +7 -7
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +7 -7
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio.mjs +10 -10
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select.mjs +106 -69
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +22 -22
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +14 -14
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider.mjs +16 -16
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +134 -91
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort.mjs +13 -13
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper.mjs +31 -31
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +55 -55
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs.mjs +43 -43
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +36 -43
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +10 -10
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +10 -10
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree.mjs +25 -25
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/_form-field-subscript.scss +18 -0
- package/form-field/_mdc-text-field-structure.scss +6 -3
- package/form-field/index.d.ts +5 -4
- package/menu/index.d.ts +1 -5
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/select/index.d.ts +10 -8
- package/snack-bar/index.d.ts +8 -6
- package/timepicker/index.d.ts +4 -1
package/fesm2022/select.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Overlay, CdkOverlayOrigin, CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject, ChangeDetectorRef, ElementRef, EventEmitter, HostAttributeToken, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { InjectionToken, inject, ChangeDetectorRef, ElementRef, Renderer2, NgZone, ANIMATION_MODULE_TYPE, EventEmitter, HostAttributeToken, booleanAttribute, numberAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ContentChild, Input, ViewChild, Output, Directive, NgModule } from '@angular/core';
|
|
4
4
|
import { _countGroupLabelsBeforeOption, _getOptionScrollPosition, ErrorStateMatcher, _ErrorStateTracker, MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionModule, MatCommonModule } from '@angular/material/core';
|
|
5
5
|
export { MatOptgroup, MatOption } from '@angular/material/core';
|
|
6
6
|
import { MAT_FORM_FIELD, MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -9,42 +9,12 @@ import { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
|
9
9
|
import { _IdGenerator, LiveAnnouncer, removeAriaReferencedId, addAriaReferencedId, ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
10
10
|
import { Directionality } from '@angular/cdk/bidi';
|
|
11
11
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
12
|
-
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, hasModifierKey, A } from '@angular/cdk/keycodes';
|
|
12
|
+
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, SPACE, hasModifierKey, A, ESCAPE } from '@angular/cdk/keycodes';
|
|
13
13
|
import { NgControl, Validators, NgForm, FormGroupDirective } from '@angular/forms';
|
|
14
14
|
import { Subject, defer, merge } from 'rxjs';
|
|
15
|
-
import { startWith, switchMap, filter, map,
|
|
16
|
-
import { trigger, transition, query, animateChild, state, style, animate } from '@angular/animations';
|
|
15
|
+
import { startWith, switchMap, filter, map, takeUntil, take } from 'rxjs/operators';
|
|
17
16
|
import { NgClass } from '@angular/common';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* The following are all the animations for the mat-select component, with each
|
|
21
|
-
* const containing the metadata for one animation.
|
|
22
|
-
*
|
|
23
|
-
* The values below match the implementation of the AngularJS Material mat-select animation.
|
|
24
|
-
* @docs-private
|
|
25
|
-
*/
|
|
26
|
-
const matSelectAnimations = {
|
|
27
|
-
/**
|
|
28
|
-
* This animation ensures the select's overlay panel animation (transformPanel) is called when
|
|
29
|
-
* closing the select.
|
|
30
|
-
* This is needed due to https://github.com/angular/angular/issues/23302
|
|
31
|
-
*/
|
|
32
|
-
transformPanelWrap: trigger('transformPanelWrap', [
|
|
33
|
-
transition('* => void', query('@transformPanel', [animateChild()], { optional: true })),
|
|
34
|
-
]),
|
|
35
|
-
/** This animation transforms the select's overlay panel on and off the page. */
|
|
36
|
-
transformPanel: trigger('transformPanel', [
|
|
37
|
-
state('void', style({
|
|
38
|
-
opacity: 0,
|
|
39
|
-
transform: 'scale(1, 0.8)',
|
|
40
|
-
})),
|
|
41
|
-
transition('void => showing', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({
|
|
42
|
-
opacity: 1,
|
|
43
|
-
transform: 'scale(1, 1)',
|
|
44
|
-
}))),
|
|
45
|
-
transition('* => void', animate('100ms linear', style({ opacity: 0 }))),
|
|
46
|
-
]),
|
|
47
|
-
};
|
|
17
|
+
import { trigger, transition, query, animateChild, state, style, animate } from '@angular/animations';
|
|
48
18
|
|
|
49
19
|
// Note that these have been copied over verbatim from
|
|
50
20
|
// `material/select` so that we don't have to expose them publicly.
|
|
@@ -119,11 +89,15 @@ class MatSelect {
|
|
|
119
89
|
_elementRef = inject(ElementRef);
|
|
120
90
|
_dir = inject(Directionality, { optional: true });
|
|
121
91
|
_idGenerator = inject(_IdGenerator);
|
|
92
|
+
_renderer = inject(Renderer2);
|
|
93
|
+
_ngZone = inject(NgZone);
|
|
122
94
|
_parentFormField = inject(MAT_FORM_FIELD, { optional: true });
|
|
123
95
|
ngControl = inject(NgControl, { self: true, optional: true });
|
|
124
96
|
_liveAnnouncer = inject(LiveAnnouncer);
|
|
125
97
|
_defaultOptions = inject(MAT_SELECT_CONFIG, { optional: true });
|
|
98
|
+
_animationsDisabled = inject(ANIMATION_MODULE_TYPE, { optional: true }) === 'NoopAnimations';
|
|
126
99
|
_initialized = new Subject();
|
|
100
|
+
_cleanupDetach;
|
|
127
101
|
/** All of the defined select options. */
|
|
128
102
|
options;
|
|
129
103
|
// TODO(crisbeto): this is only necessary for the non-MDC select, but it's technically a
|
|
@@ -241,8 +215,6 @@ class MatSelect {
|
|
|
241
215
|
_onTouched = () => { };
|
|
242
216
|
/** ID for the DOM node containing the select's value. */
|
|
243
217
|
_valueId = this._idGenerator.getId('mat-select-value-');
|
|
244
|
-
/** Emits when the panel element is finished transforming in. */
|
|
245
|
-
_panelDoneAnimatingStream = new Subject();
|
|
246
218
|
/** Strategy that will be used to handle scrolling while the select panel is open. */
|
|
247
219
|
_scrollStrategy;
|
|
248
220
|
_overlayPanelClass = this._defaultOptions?.overlayPanelClass || '';
|
|
@@ -430,12 +402,6 @@ class MatSelect {
|
|
|
430
402
|
ngOnInit() {
|
|
431
403
|
this._selectionModel = new SelectionModel(this.multiple);
|
|
432
404
|
this.stateChanges.next();
|
|
433
|
-
// We need `distinctUntilChanged` here, because some browsers will
|
|
434
|
-
// fire the animation end event twice for the same animation. See:
|
|
435
|
-
// https://github.com/angular/angular/issues/24084
|
|
436
|
-
this._panelDoneAnimatingStream
|
|
437
|
-
.pipe(distinctUntilChanged(), takeUntil(this._destroy))
|
|
438
|
-
.subscribe(() => this._panelDoneAnimating(this.panelOpen));
|
|
439
405
|
this._viewportRuler
|
|
440
406
|
.change()
|
|
441
407
|
.pipe(takeUntil(this._destroy))
|
|
@@ -499,6 +465,7 @@ class MatSelect {
|
|
|
499
465
|
}
|
|
500
466
|
}
|
|
501
467
|
ngOnDestroy() {
|
|
468
|
+
this._cleanupDetach?.();
|
|
502
469
|
this._keyManager?.destroy();
|
|
503
470
|
this._destroy.next();
|
|
504
471
|
this._destroy.complete();
|
|
@@ -520,14 +487,22 @@ class MatSelect {
|
|
|
520
487
|
if (this._parentFormField) {
|
|
521
488
|
this._preferredOverlayOrigin = this._parentFormField.getConnectedOverlayOrigin();
|
|
522
489
|
}
|
|
490
|
+
this._cleanupDetach?.();
|
|
523
491
|
this._overlayWidth = this._getOverlayWidth(this._preferredOverlayOrigin);
|
|
524
492
|
this._applyModalPanelOwnership();
|
|
525
493
|
this._panelOpen = true;
|
|
494
|
+
this._overlayDir.positionChange.pipe(take(1)).subscribe(() => {
|
|
495
|
+
this._changeDetectorRef.detectChanges();
|
|
496
|
+
this._positioningSettled();
|
|
497
|
+
});
|
|
498
|
+
this._overlayDir.attachOverlay();
|
|
526
499
|
this._keyManager.withHorizontalOrientation(null);
|
|
527
500
|
this._highlightCorrectOption();
|
|
528
501
|
this._changeDetectorRef.markForCheck();
|
|
529
502
|
// Required for the MDC form field to pick up when the overlay has been opened.
|
|
530
503
|
this.stateChanges.next();
|
|
504
|
+
// Simulate the animation event before we moved away from `@angular/animations`.
|
|
505
|
+
Promise.resolve().then(() => this.openedChange.emit(true));
|
|
531
506
|
}
|
|
532
507
|
/**
|
|
533
508
|
* Track which modal we have modified the `aria-owns` attribute of. When the combobox trigger is
|
|
@@ -587,12 +562,44 @@ class MatSelect {
|
|
|
587
562
|
close() {
|
|
588
563
|
if (this._panelOpen) {
|
|
589
564
|
this._panelOpen = false;
|
|
565
|
+
this._exitAndDetach();
|
|
590
566
|
this._keyManager.withHorizontalOrientation(this._isRtl() ? 'rtl' : 'ltr');
|
|
591
567
|
this._changeDetectorRef.markForCheck();
|
|
592
568
|
this._onTouched();
|
|
593
569
|
// Required for the MDC form field to pick up when the overlay has been closed.
|
|
594
570
|
this.stateChanges.next();
|
|
571
|
+
// Simulate the animation event before we moved away from `@angular/animations`.
|
|
572
|
+
Promise.resolve().then(() => this.openedChange.emit(false));
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
/** Triggers the exit animation and detaches the overlay at the end. */
|
|
576
|
+
_exitAndDetach() {
|
|
577
|
+
if (this._animationsDisabled || !this.panel) {
|
|
578
|
+
this._overlayDir.detachOverlay();
|
|
579
|
+
return;
|
|
595
580
|
}
|
|
581
|
+
this._ngZone.runOutsideAngular(() => {
|
|
582
|
+
this._cleanupDetach?.();
|
|
583
|
+
this._cleanupDetach = () => {
|
|
584
|
+
cleanupEvent();
|
|
585
|
+
clearTimeout(exitFallbackTimer);
|
|
586
|
+
this._cleanupDetach = undefined;
|
|
587
|
+
};
|
|
588
|
+
const panel = this.panel.nativeElement;
|
|
589
|
+
const cleanupEvent = this._renderer.listen(panel, 'animationend', (event) => {
|
|
590
|
+
if (event.animationName === '_mat-select-exit') {
|
|
591
|
+
this._cleanupDetach?.();
|
|
592
|
+
this._overlayDir.detachOverlay();
|
|
593
|
+
}
|
|
594
|
+
});
|
|
595
|
+
// Since closing the overlay depends on the animation, we have a fallback in case the panel
|
|
596
|
+
// doesn't animate. This can happen in some internal tests that do `* {animation: none}`.
|
|
597
|
+
const exitFallbackTimer = setTimeout(() => {
|
|
598
|
+
this._cleanupDetach?.();
|
|
599
|
+
this._overlayDir.detachOverlay();
|
|
600
|
+
}, 200);
|
|
601
|
+
panel.classList.add('mat-select-panel-exit');
|
|
602
|
+
});
|
|
596
603
|
}
|
|
597
604
|
/**
|
|
598
605
|
* Sets the select's value. Part of the ControlValueAccessor interface
|
|
@@ -739,6 +746,17 @@ class MatSelect {
|
|
|
739
746
|
}
|
|
740
747
|
}
|
|
741
748
|
}
|
|
749
|
+
/** Handles keyboard events coming from the overlay. */
|
|
750
|
+
_handleOverlayKeydown(event) {
|
|
751
|
+
// TODO(crisbeto): prior to #30363 this was being handled inside the overlay directive, but we
|
|
752
|
+
// need control over the animation timing so we do it manually. We should remove the `keydown`
|
|
753
|
+
// listener from `.mat-mdc-select-panel` and handle all the events here. That may cause
|
|
754
|
+
// further test breakages so it's left for a follow-up.
|
|
755
|
+
if (event.keyCode === ESCAPE && !hasModifierKey(event)) {
|
|
756
|
+
event.preventDefault();
|
|
757
|
+
this.close();
|
|
758
|
+
}
|
|
759
|
+
}
|
|
742
760
|
_onFocus() {
|
|
743
761
|
if (!this.disabled) {
|
|
744
762
|
this._focused = true;
|
|
@@ -758,15 +776,6 @@ class MatSelect {
|
|
|
758
776
|
this.stateChanges.next();
|
|
759
777
|
}
|
|
760
778
|
}
|
|
761
|
-
/**
|
|
762
|
-
* Callback that is invoked when the overlay panel has been attached.
|
|
763
|
-
*/
|
|
764
|
-
_onAttached() {
|
|
765
|
-
this._overlayDir.positionChange.pipe(take(1)).subscribe(() => {
|
|
766
|
-
this._changeDetectorRef.detectChanges();
|
|
767
|
-
this._positioningSettled();
|
|
768
|
-
});
|
|
769
|
-
}
|
|
770
779
|
/** Returns the theme to be used on the panel. */
|
|
771
780
|
_getPanelTheme() {
|
|
772
781
|
return this._parentFormField ? `mat-${this._parentFormField.color}` : '';
|
|
@@ -1041,7 +1050,7 @@ class MatSelect {
|
|
|
1041
1050
|
}
|
|
1042
1051
|
/** Whether the panel is allowed to open. */
|
|
1043
1052
|
_canOpen() {
|
|
1044
|
-
return !this._panelOpen && !this.disabled && this.options?.length > 0;
|
|
1053
|
+
return !this._panelOpen && !this.disabled && this.options?.length > 0 && !!this._overlayDir;
|
|
1045
1054
|
}
|
|
1046
1055
|
/** Focuses the select element. */
|
|
1047
1056
|
focus(options) {
|
|
@@ -1075,10 +1084,6 @@ class MatSelect {
|
|
|
1075
1084
|
}
|
|
1076
1085
|
return value;
|
|
1077
1086
|
}
|
|
1078
|
-
/** Called when the overlay panel is done animating. */
|
|
1079
|
-
_panelDoneAnimating(isOpen) {
|
|
1080
|
-
this.openedChange.emit(isOpen);
|
|
1081
|
-
}
|
|
1082
1087
|
/**
|
|
1083
1088
|
* Implemented as part of MatFormFieldControl.
|
|
1084
1089
|
* @docs-private
|
|
@@ -1108,13 +1113,13 @@ class MatSelect {
|
|
|
1108
1113
|
// want the label to only float when there's a value.
|
|
1109
1114
|
return this.panelOpen || !this.empty || (this.focused && !!this.placeholder);
|
|
1110
1115
|
}
|
|
1111
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.
|
|
1112
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.
|
|
1116
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1117
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: MatSelect, isStandalone: true, 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", canSelectNullableOptions: ["canSelectNullableOptions", "canSelectNullableOptions", booleanAttribute] }, outputs: { openedChange: "openedChange", _openedStream: "opened", _closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, 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: [
|
|
1113
1118
|
{ provide: MatFormFieldControl, useExisting: MatSelect },
|
|
1114
1119
|
{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
|
|
1115
|
-
], 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"], usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\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 [
|
|
1120
|
+
], 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"], usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\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 [cdkConnectedOverlayDisableClose]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (overlayKeydown)=\"_handleOverlayKeydown($event)\">\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 [class.mat-select-panel-animations-enabled]=\"!_animationsDisabled\"\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 (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.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, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.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 .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{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, var(--mat-sys-surface-container))}@media(forced-colors: 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}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.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, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._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}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: 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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1116
1121
|
}
|
|
1117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.
|
|
1122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelect, decorators: [{
|
|
1118
1123
|
type: Component,
|
|
1119
1124
|
args: [{ selector: 'mat-select', exportAs: 'matSelect', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1120
1125
|
'role': 'combobox',
|
|
@@ -1137,10 +1142,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
|
|
|
1137
1142
|
'(keydown)': '_handleKeydown($event)',
|
|
1138
1143
|
'(focus)': '_onFocus()',
|
|
1139
1144
|
'(blur)': '_onBlur()',
|
|
1140
|
-
},
|
|
1145
|
+
}, providers: [
|
|
1141
1146
|
{ provide: MatFormFieldControl, useExisting: MatSelect },
|
|
1142
1147
|
{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
|
|
1143
|
-
], imports: [CdkOverlayOrigin, CdkConnectedOverlay, NgClass], template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\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 [
|
|
1148
|
+
], imports: [CdkOverlayOrigin, CdkConnectedOverlay, NgClass], template: "<div cdk-overlay-origin\n class=\"mat-mdc-select-trigger\"\n (click)=\"open()\"\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 [cdkConnectedOverlayDisableClose]=\"true\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (overlayKeydown)=\"_handleOverlayKeydown($event)\">\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 [class.mat-select-panel-animations-enabled]=\"!_animationsDisabled\"\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 (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.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, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.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 .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{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, var(--mat-sys-surface-container))}@media(forced-colors: 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}div.mat-mdc-select-panel .mat-mdc-option{--mdc-list-list-item-container-color: var(--mat-select-panel-background-color)}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.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, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._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}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))}"] }]
|
|
1144
1149
|
}], ctorParameters: () => [], propDecorators: { options: [{
|
|
1145
1150
|
type: ContentChildren,
|
|
1146
1151
|
args: [MatOption, { descendants: true }]
|
|
@@ -1230,10 +1235,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
|
|
|
1230
1235
|
* Allows the user to customize the trigger that is displayed when the select has a value.
|
|
1231
1236
|
*/
|
|
1232
1237
|
class MatSelectTrigger {
|
|
1233
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.
|
|
1234
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.
|
|
1238
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1239
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.3", type: MatSelectTrigger, isStandalone: true, selector: "mat-select-trigger", providers: [{ provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger }], ngImport: i0 });
|
|
1235
1240
|
}
|
|
1236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.
|
|
1241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelectTrigger, decorators: [{
|
|
1237
1242
|
type: Directive,
|
|
1238
1243
|
args: [{
|
|
1239
1244
|
selector: 'mat-select-trigger',
|
|
@@ -1242,19 +1247,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
|
|
|
1242
1247
|
}] });
|
|
1243
1248
|
|
|
1244
1249
|
class MatSelectModule {
|
|
1245
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.
|
|
1246
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.
|
|
1250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1251
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.3", ngImport: i0, type: MatSelectModule, imports: [OverlayModule, MatOptionModule, MatCommonModule, MatSelect, MatSelectTrigger], exports: [CdkScrollableModule,
|
|
1247
1252
|
MatFormFieldModule,
|
|
1248
1253
|
MatSelect,
|
|
1249
1254
|
MatSelectTrigger,
|
|
1250
1255
|
MatOptionModule,
|
|
1251
1256
|
MatCommonModule] });
|
|
1252
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.
|
|
1257
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelectModule, providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule, MatOptionModule, MatCommonModule, CdkScrollableModule,
|
|
1253
1258
|
MatFormFieldModule,
|
|
1254
1259
|
MatOptionModule,
|
|
1255
1260
|
MatCommonModule] });
|
|
1256
1261
|
}
|
|
1257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.
|
|
1262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatSelectModule, decorators: [{
|
|
1258
1263
|
type: NgModule,
|
|
1259
1264
|
args: [{
|
|
1260
1265
|
imports: [OverlayModule, MatOptionModule, MatCommonModule, MatSelect, MatSelectTrigger],
|
|
@@ -1270,6 +1275,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
|
|
|
1270
1275
|
}]
|
|
1271
1276
|
}] });
|
|
1272
1277
|
|
|
1278
|
+
/**
|
|
1279
|
+
* The following are all the animations for the mat-select component, with each
|
|
1280
|
+
* const containing the metadata for one animation.
|
|
1281
|
+
*
|
|
1282
|
+
* The values below match the implementation of the AngularJS Material mat-select animation.
|
|
1283
|
+
* @docs-private
|
|
1284
|
+
* @deprecated No longer used, will be removed.
|
|
1285
|
+
* @breaking-change 21.0.0
|
|
1286
|
+
*/
|
|
1287
|
+
const matSelectAnimations = {
|
|
1288
|
+
/**
|
|
1289
|
+
* This animation ensures the select's overlay panel animation (transformPanel) is called when
|
|
1290
|
+
* closing the select.
|
|
1291
|
+
* This is needed due to https://github.com/angular/angular/issues/23302
|
|
1292
|
+
*/
|
|
1293
|
+
transformPanelWrap: trigger('transformPanelWrap', [
|
|
1294
|
+
transition('* => void', query('@transformPanel', [animateChild()], { optional: true })),
|
|
1295
|
+
]),
|
|
1296
|
+
/** This animation transforms the select's overlay panel on and off the page. */
|
|
1297
|
+
transformPanel: trigger('transformPanel', [
|
|
1298
|
+
state('void', style({
|
|
1299
|
+
opacity: 0,
|
|
1300
|
+
transform: 'scale(1, 0.8)',
|
|
1301
|
+
})),
|
|
1302
|
+
transition('void => showing', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({
|
|
1303
|
+
opacity: 1,
|
|
1304
|
+
transform: 'scale(1, 1)',
|
|
1305
|
+
}))),
|
|
1306
|
+
transition('* => void', animate('100ms linear', style({ opacity: 0 }))),
|
|
1307
|
+
]),
|
|
1308
|
+
};
|
|
1309
|
+
|
|
1273
1310
|
/**
|
|
1274
1311
|
* Generated bundle index. Do not edit.
|
|
1275
1312
|
*/
|