@angular/material 22.2.0-rc.0 → 22.2.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.
Files changed (109) hide show
  1. package/fesm2022/_error-options-chunk.mjs +6 -6
  2. package/fesm2022/_form-field-chunk.mjs +95 -52
  3. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  4. package/fesm2022/_icon-button-chunk.mjs +6 -6
  5. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  7. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  8. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  9. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  10. package/fesm2022/_line-chunk.mjs +7 -7
  11. package/fesm2022/_line-chunk.mjs.map +1 -1
  12. package/fesm2022/_option-chunk.mjs +6 -6
  13. package/fesm2022/_option-chunk.mjs.map +1 -1
  14. package/fesm2022/_option-module-chunk.mjs +4 -4
  15. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  16. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  17. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  18. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  19. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  20. package/fesm2022/_ripple-chunk.mjs +6 -6
  21. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  22. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  23. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  24. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  25. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  26. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  27. package/fesm2022/_tooltip-chunk.mjs +6 -6
  28. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  29. package/fesm2022/autocomplete.mjs +22 -16
  30. package/fesm2022/autocomplete.mjs.map +1 -1
  31. package/fesm2022/badge.mjs +10 -10
  32. package/fesm2022/badge.mjs.map +1 -1
  33. package/fesm2022/bottom-sheet.mjs +10 -10
  34. package/fesm2022/bottom-sheet.mjs.map +1 -1
  35. package/fesm2022/button-toggle.mjs +10 -10
  36. package/fesm2022/button-toggle.mjs.map +1 -1
  37. package/fesm2022/button.mjs +13 -13
  38. package/fesm2022/button.mjs.map +1 -1
  39. package/fesm2022/card.mjs +46 -46
  40. package/fesm2022/card.mjs.map +1 -1
  41. package/fesm2022/checkbox.mjs +7 -7
  42. package/fesm2022/checkbox.mjs.map +1 -1
  43. package/fesm2022/chips.mjs +46 -46
  44. package/fesm2022/chips.mjs.map +1 -1
  45. package/fesm2022/core.mjs +12 -12
  46. package/fesm2022/core.mjs.map +1 -1
  47. package/fesm2022/datepicker.mjs +82 -82
  48. package/fesm2022/datepicker.mjs.map +1 -1
  49. package/fesm2022/dialog.mjs +25 -25
  50. package/fesm2022/dialog.mjs.map +1 -1
  51. package/fesm2022/divider.mjs +7 -7
  52. package/fesm2022/divider.mjs.map +1 -1
  53. package/fesm2022/expansion.mjs +25 -25
  54. package/fesm2022/expansion.mjs.map +1 -1
  55. package/fesm2022/form-field.mjs +5 -4
  56. package/fesm2022/form-field.mjs.map +1 -1
  57. package/fesm2022/grid-list.mjs +22 -22
  58. package/fesm2022/grid-list.mjs.map +1 -1
  59. package/fesm2022/icon-testing.mjs +7 -7
  60. package/fesm2022/icon.mjs +9 -8
  61. package/fesm2022/icon.mjs.map +1 -1
  62. package/fesm2022/input.mjs +7 -7
  63. package/fesm2022/input.mjs.map +1 -1
  64. package/fesm2022/list.mjs +49 -49
  65. package/fesm2022/list.mjs.map +1 -1
  66. package/fesm2022/menu.mjs +22 -22
  67. package/fesm2022/menu.mjs.map +1 -1
  68. package/fesm2022/paginator.mjs +11 -11
  69. package/fesm2022/paginator.mjs.map +1 -1
  70. package/fesm2022/progress-bar.mjs +7 -7
  71. package/fesm2022/progress-bar.mjs.map +1 -1
  72. package/fesm2022/progress-spinner.mjs +7 -7
  73. package/fesm2022/progress-spinner.mjs.map +1 -1
  74. package/fesm2022/radio.mjs +10 -10
  75. package/fesm2022/radio.mjs.map +1 -1
  76. package/fesm2022/select.mjs +12 -12
  77. package/fesm2022/select.mjs.map +1 -1
  78. package/fesm2022/sidenav.mjs +22 -22
  79. package/fesm2022/sidenav.mjs.map +1 -1
  80. package/fesm2022/slide-toggle.mjs +7 -7
  81. package/fesm2022/slide-toggle.mjs.map +1 -1
  82. package/fesm2022/slider.mjs +16 -16
  83. package/fesm2022/slider.mjs.map +1 -1
  84. package/fesm2022/snack-bar.mjs +22 -22
  85. package/fesm2022/snack-bar.mjs.map +1 -1
  86. package/fesm2022/sort.mjs +13 -13
  87. package/fesm2022/sort.mjs.map +1 -1
  88. package/fesm2022/stepper.mjs +31 -31
  89. package/fesm2022/stepper.mjs.map +1 -1
  90. package/fesm2022/table.mjs +55 -55
  91. package/fesm2022/table.mjs.map +1 -1
  92. package/fesm2022/tabs.mjs +44 -44
  93. package/fesm2022/tabs.mjs.map +1 -1
  94. package/fesm2022/timepicker.mjs +14 -13
  95. package/fesm2022/timepicker.mjs.map +1 -1
  96. package/fesm2022/toolbar.mjs +10 -10
  97. package/fesm2022/toolbar.mjs.map +1 -1
  98. package/fesm2022/tooltip.mjs +4 -4
  99. package/fesm2022/tooltip.mjs.map +1 -1
  100. package/fesm2022/tree.mjs +25 -25
  101. package/fesm2022/tree.mjs.map +1 -1
  102. package/package.json +6 -6
  103. package/schematics/ng-add/index.js +2 -2
  104. package/types/_dialog-chunk.d.ts +3 -7
  105. package/types/_form-field-chunk.d.ts +6 -6
  106. package/types/_form-field-control-chunk.d.ts +23 -18
  107. package/types/bottom-sheet.d.ts +3 -7
  108. package/types/form-field.d.ts +2 -1
  109. package/types/table.d.ts +2 -1
@@ -4,7 +4,8 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { Platform } from '@angular/cdk/platform';
5
5
  import { NgTemplateOutlet } from '@angular/common';
6
6
  import * as i0 from '@angular/core';
7
- import { Directive, InjectionToken, inject, Input, ElementRef, NgZone, Renderer2, ViewChild, ViewEncapsulation, Component, ChangeDetectorRef, viewChild, computed, contentChild, signal, effect, afterRenderEffect, ContentChildren, ContentChild } from '@angular/core';
7
+ import { Directive, InjectionToken, inject, Input, ElementRef, NgZone, Renderer2, ViewChild, ViewEncapsulation, Component, ChangeDetectorRef, isSignal, viewChild, computed, contentChild, signal, effect, afterRenderEffect, ContentChildren, ContentChild } from '@angular/core';
8
+ import { isFieldTree } from '@angular/forms/signals';
8
9
  import { Subscription, Subject, merge } from 'rxjs';
9
10
  import { startWith, map, pairwise, filter, takeUntil } from 'rxjs/operators';
10
11
  import { SharedResizeObserver } from '@angular/cdk/observers/private';
@@ -13,7 +14,7 @@ import { _animationsDisabled } from './_animation-chunk.mjs';
13
14
  class MatLabel {
14
15
  static ɵfac = i0.ɵɵngDeclareFactory({
15
16
  minVersion: "12.0.0",
16
- version: "22.2.0-next.7",
17
+ version: "22.2.0",
17
18
  ngImport: i0,
18
19
  type: MatLabel,
19
20
  deps: [],
@@ -21,7 +22,7 @@ class MatLabel {
21
22
  });
22
23
  static ɵdir = i0.ɵɵngDeclareDirective({
23
24
  minVersion: "14.0.0",
24
- version: "22.2.0-next.7",
25
+ version: "22.2.0",
25
26
  type: MatLabel,
26
27
  isStandalone: true,
27
28
  selector: "mat-label",
@@ -30,7 +31,7 @@ class MatLabel {
30
31
  }
31
32
  i0.ɵɵngDeclareClassMetadata({
32
33
  minVersion: "12.0.0",
33
- version: "22.2.0-next.7",
34
+ version: "22.2.0",
34
35
  ngImport: i0,
35
36
  type: MatLabel,
36
37
  decorators: [{
@@ -46,7 +47,7 @@ class MatError {
46
47
  id = inject(_IdGenerator).getId('mat-mdc-error-');
47
48
  static ɵfac = i0.ɵɵngDeclareFactory({
48
49
  minVersion: "12.0.0",
49
- version: "22.2.0-next.7",
50
+ version: "22.2.0",
50
51
  ngImport: i0,
51
52
  type: MatError,
52
53
  deps: [],
@@ -54,7 +55,7 @@ class MatError {
54
55
  });
55
56
  static ɵdir = i0.ɵɵngDeclareDirective({
56
57
  minVersion: "14.0.0",
57
- version: "22.2.0-next.7",
58
+ version: "22.2.0",
58
59
  type: MatError,
59
60
  isStandalone: true,
60
61
  selector: "mat-error, [matError]",
@@ -76,7 +77,7 @@ class MatError {
76
77
  }
77
78
  i0.ɵɵngDeclareClassMetadata({
78
79
  minVersion: "12.0.0",
79
- version: "22.2.0-next.7",
80
+ version: "22.2.0",
80
81
  ngImport: i0,
81
82
  type: MatError,
82
83
  decorators: [{
@@ -105,7 +106,7 @@ class MatHint {
105
106
  id = inject(_IdGenerator).getId('mat-mdc-hint-');
106
107
  static ɵfac = i0.ɵɵngDeclareFactory({
107
108
  minVersion: "12.0.0",
108
- version: "22.2.0-next.7",
109
+ version: "22.2.0",
109
110
  ngImport: i0,
110
111
  type: MatHint,
111
112
  deps: [],
@@ -113,7 +114,7 @@ class MatHint {
113
114
  });
114
115
  static ɵdir = i0.ɵɵngDeclareDirective({
115
116
  minVersion: "14.0.0",
116
- version: "22.2.0-next.7",
117
+ version: "22.2.0",
117
118
  type: MatHint,
118
119
  isStandalone: true,
119
120
  selector: "mat-hint",
@@ -134,7 +135,7 @@ class MatHint {
134
135
  }
135
136
  i0.ɵɵngDeclareClassMetadata({
136
137
  minVersion: "12.0.0",
137
- version: "22.2.0-next.7",
138
+ version: "22.2.0",
138
139
  ngImport: i0,
139
140
  type: MatHint,
140
141
  decorators: [{
@@ -167,7 +168,7 @@ class MatPrefix {
167
168
  _isText = false;
168
169
  static ɵfac = i0.ɵɵngDeclareFactory({
169
170
  minVersion: "12.0.0",
170
- version: "22.2.0-next.7",
171
+ version: "22.2.0",
171
172
  ngImport: i0,
172
173
  type: MatPrefix,
173
174
  deps: [],
@@ -175,7 +176,7 @@ class MatPrefix {
175
176
  });
176
177
  static ɵdir = i0.ɵɵngDeclareDirective({
177
178
  minVersion: "14.0.0",
178
- version: "22.2.0-next.7",
179
+ version: "22.2.0",
179
180
  type: MatPrefix,
180
181
  isStandalone: true,
181
182
  selector: "[matPrefix], [matIconPrefix], [matTextPrefix]",
@@ -191,7 +192,7 @@ class MatPrefix {
191
192
  }
192
193
  i0.ɵɵngDeclareClassMetadata({
193
194
  minVersion: "12.0.0",
194
- version: "22.2.0-next.7",
195
+ version: "22.2.0",
195
196
  ngImport: i0,
196
197
  type: MatPrefix,
197
198
  decorators: [{
@@ -220,7 +221,7 @@ class MatSuffix {
220
221
  _isText = false;
221
222
  static ɵfac = i0.ɵɵngDeclareFactory({
222
223
  minVersion: "12.0.0",
223
- version: "22.2.0-next.7",
224
+ version: "22.2.0",
224
225
  ngImport: i0,
225
226
  type: MatSuffix,
226
227
  deps: [],
@@ -228,7 +229,7 @@ class MatSuffix {
228
229
  });
229
230
  static ɵdir = i0.ɵɵngDeclareDirective({
230
231
  minVersion: "14.0.0",
231
- version: "22.2.0-next.7",
232
+ version: "22.2.0",
232
233
  type: MatSuffix,
233
234
  isStandalone: true,
234
235
  selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
@@ -244,7 +245,7 @@ class MatSuffix {
244
245
  }
245
246
  i0.ɵɵngDeclareClassMetadata({
246
247
  minVersion: "12.0.0",
247
- version: "22.2.0-next.7",
248
+ version: "22.2.0",
248
249
  ngImport: i0,
249
250
  type: MatSuffix,
250
251
  decorators: [{
@@ -316,7 +317,7 @@ class MatFormFieldFloatingLabel {
316
317
  }
317
318
  static ɵfac = i0.ɵɵngDeclareFactory({
318
319
  minVersion: "12.0.0",
319
- version: "22.2.0-next.7",
320
+ version: "22.2.0",
320
321
  ngImport: i0,
321
322
  type: MatFormFieldFloatingLabel,
322
323
  deps: [],
@@ -324,7 +325,7 @@ class MatFormFieldFloatingLabel {
324
325
  });
325
326
  static ɵdir = i0.ɵɵngDeclareDirective({
326
327
  minVersion: "14.0.0",
327
- version: "22.2.0-next.7",
328
+ version: "22.2.0",
328
329
  type: MatFormFieldFloatingLabel,
329
330
  isStandalone: true,
330
331
  selector: "label[matFormFieldFloatingLabel]",
@@ -343,7 +344,7 @@ class MatFormFieldFloatingLabel {
343
344
  }
344
345
  i0.ɵɵngDeclareClassMetadata({
345
346
  minVersion: "12.0.0",
346
- version: "22.2.0-next.7",
347
+ version: "22.2.0",
347
348
  ngImport: i0,
348
349
  type: MatFormFieldFloatingLabel,
349
350
  decorators: [{
@@ -411,7 +412,7 @@ class MatFormFieldLineRipple {
411
412
  }
412
413
  static ɵfac = i0.ɵɵngDeclareFactory({
413
414
  minVersion: "12.0.0",
414
- version: "22.2.0-next.7",
415
+ version: "22.2.0",
415
416
  ngImport: i0,
416
417
  type: MatFormFieldLineRipple,
417
418
  deps: [],
@@ -419,7 +420,7 @@ class MatFormFieldLineRipple {
419
420
  });
420
421
  static ɵdir = i0.ɵɵngDeclareDirective({
421
422
  minVersion: "14.0.0",
422
- version: "22.2.0-next.7",
423
+ version: "22.2.0",
423
424
  type: MatFormFieldLineRipple,
424
425
  isStandalone: true,
425
426
  selector: "div[matFormFieldLineRipple]",
@@ -431,7 +432,7 @@ class MatFormFieldLineRipple {
431
432
  }
432
433
  i0.ɵɵngDeclareClassMetadata({
433
434
  minVersion: "12.0.0",
434
- version: "22.2.0-next.7",
435
+ version: "22.2.0",
435
436
  ngImport: i0,
436
437
  type: MatFormFieldLineRipple,
437
438
  decorators: [{
@@ -481,7 +482,7 @@ class MatFormFieldNotchedOutline {
481
482
  }
482
483
  static ɵfac = i0.ɵɵngDeclareFactory({
483
484
  minVersion: "12.0.0",
484
- version: "22.2.0-next.7",
485
+ version: "22.2.0",
485
486
  ngImport: i0,
486
487
  type: MatFormFieldNotchedOutline,
487
488
  deps: [],
@@ -489,7 +490,7 @@ class MatFormFieldNotchedOutline {
489
490
  });
490
491
  static ɵcmp = i0.ɵɵngDeclareComponent({
491
492
  minVersion: "14.0.0",
492
- version: "22.2.0-next.7",
493
+ version: "22.2.0",
493
494
  type: MatFormFieldNotchedOutline,
494
495
  isStandalone: true,
495
496
  selector: "div[matFormFieldNotchedOutline]",
@@ -515,7 +516,7 @@ class MatFormFieldNotchedOutline {
515
516
  }
516
517
  i0.ɵɵngDeclareClassMetadata({
517
518
  minVersion: "12.0.0",
518
- version: "22.2.0-next.7",
519
+ version: "22.2.0",
519
520
  ngImport: i0,
520
521
  type: MatFormFieldNotchedOutline,
521
522
  decorators: [{
@@ -543,10 +544,8 @@ i0.ɵɵngDeclareClassMetadata({
543
544
  });
544
545
 
545
546
  class MatFormFieldControl {
546
- value = null;
547
- stateChanges;
548
547
  id;
549
- placeholder;
548
+ ngField = null;
550
549
  ngControl = null;
551
550
  focused = false;
552
551
  empty = false;
@@ -559,9 +558,11 @@ class MatFormFieldControl {
559
558
  userAriaDescribedBy;
560
559
  disableAutomaticLabeling;
561
560
  describedByIds;
561
+ stateChanges = null;
562
+ value;
562
563
  static ɵfac = i0.ɵɵngDeclareFactory({
563
564
  minVersion: "12.0.0",
564
- version: "22.2.0-next.7",
565
+ version: "22.2.0",
565
566
  ngImport: i0,
566
567
  type: MatFormFieldControl,
567
568
  deps: [],
@@ -569,7 +570,7 @@ class MatFormFieldControl {
569
570
  });
570
571
  static ɵdir = i0.ɵɵngDeclareDirective({
571
572
  minVersion: "14.0.0",
572
- version: "22.2.0-next.7",
573
+ version: "22.2.0",
573
574
  type: MatFormFieldControl,
574
575
  isStandalone: true,
575
576
  ngImport: i0
@@ -577,7 +578,7 @@ class MatFormFieldControl {
577
578
  }
578
579
  i0.ɵɵngDeclareClassMetadata({
579
580
  minVersion: "12.0.0",
580
- version: "22.2.0-next.7",
581
+ version: "22.2.0",
581
582
  ngImport: i0,
582
583
  type: MatFormFieldControl,
583
584
  decorators: [{
@@ -611,6 +612,9 @@ class MatFormField {
611
612
  optional: true
612
613
  });
613
614
  _currentDirection;
615
+ _unwrapMaybeSignal(value) {
616
+ return isSignal(value) ? value() : value;
617
+ }
614
618
  _textField;
615
619
  _iconPrefixContainer;
616
620
  _textPrefixContainer;
@@ -751,12 +755,12 @@ class MatFormField {
751
755
  if (this._control !== this._previousControl) {
752
756
  this._initializeControl(this._previousControl);
753
757
  if (this._control.ngControl && this._control.ngControl.control) {
754
- this._previousControlValidatorFn = this._control.ngControl.control.validator;
758
+ this._previousControlValidatorFn = isFieldTree(this._control.ngField) ? null : this._control.ngControl.control.validator;
755
759
  }
756
760
  this._previousControl = this._control;
757
761
  this._changeDetectorRef.markForCheck();
758
762
  }
759
- if (this._control.ngControl && this._control.ngControl.control) {
763
+ if (this._control.ngControl && this._control.ngControl.control && !isFieldTree(this._control.ngField)) {
760
764
  const validatorFn = this._control.ngControl.control.validator;
761
765
  if (validatorFn !== this._previousControlValidatorFn) {
762
766
  this._changeDetectorRef.markForCheck();
@@ -792,16 +796,16 @@ class MatFormField {
792
796
  this._elementRef.nativeElement.classList.add(classPrefix + control.controlType);
793
797
  }
794
798
  this._stateChanges?.unsubscribe();
795
- this._stateChanges = control.stateChanges.subscribe(() => {
799
+ this._stateChanges = control.stateChanges?.subscribe(() => {
796
800
  this._updateFocusState();
797
801
  this._changeDetectorRef.markForCheck();
798
802
  });
799
803
  this._describedByChanges?.unsubscribe();
800
- this._describedByChanges = control.stateChanges.pipe(startWith([undefined, undefined]), map(() => [control.errorState, control.userAriaDescribedBy]), pairwise(), filter(([[prevErrorState, prevDescribedBy], [currentErrorState, currentDescribedBy]]) => {
804
+ this._describedByChanges = control.stateChanges?.pipe(startWith([undefined, undefined]), map(() => [this._unwrapMaybeSignal(control.errorState), control.userAriaDescribedBy]), pairwise(), filter(([[prevErrorState, prevDescribedBy], [currentErrorState, currentDescribedBy]]) => {
801
805
  return prevErrorState !== currentErrorState || prevDescribedBy !== currentDescribedBy;
802
806
  })).subscribe(() => this._syncDescribedByIds());
803
807
  this._valueChanges?.unsubscribe();
804
- if (control.ngControl && control.ngControl.valueChanges) {
808
+ if (control.ngControl && control.ngControl.valueChanges && !isFieldTree(control.ngField)) {
805
809
  this._valueChanges = control.ngControl.valueChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._changeDetectorRef.markForCheck());
806
810
  }
807
811
  }
@@ -836,7 +840,7 @@ class MatFormField {
836
840
  }
837
841
  }
838
842
  _updateFocusState() {
839
- const controlFocused = this._control.focused;
843
+ const controlFocused = this._unwrapMaybeSignal(this._control.focused);
840
844
  if (controlFocused && !this._isFocused) {
841
845
  this._isFocused = true;
842
846
  this._lineRipple?.activate();
@@ -885,14 +889,53 @@ class MatFormField {
885
889
  if (!this._hasFloatingLabel()) {
886
890
  return false;
887
891
  }
888
- return this._control.shouldLabelFloat || this._shouldAlwaysFloat();
892
+ return this._shouldAlwaysFloat() || this._unwrapMaybeSignal(this._control.shouldLabelFloat);
889
893
  }
890
894
  _shouldForward(prop) {
891
- const control = this._control ? this._control.ngControl : null;
892
- return control && control[prop];
895
+ const rawControl = this._control?.ngField || this._control?.ngControl;
896
+ if (!rawControl) {
897
+ return false;
898
+ }
899
+ if (isFieldTree(rawControl)) {
900
+ const control = rawControl();
901
+ if (prop === 'valid') {
902
+ return control.valid();
903
+ } else if (prop === 'dirty') {
904
+ return control.dirty();
905
+ } else if (prop === 'touched') {
906
+ return control.touched();
907
+ } else if (prop === 'pending') {
908
+ return control.pending();
909
+ } else if (prop === 'untouched') {
910
+ return !control.touched();
911
+ } else if (prop === 'pristine') {
912
+ return !control.dirty();
913
+ } else if (prop === 'invalid') {
914
+ return !control.valid();
915
+ }
916
+ return false;
917
+ } else {
918
+ const control = rawControl;
919
+ if (prop === 'valid') {
920
+ return control.valid;
921
+ } else if (prop === 'dirty') {
922
+ return control.dirty;
923
+ } else if (prop === 'touched') {
924
+ return control.touched;
925
+ } else if (prop === 'pending') {
926
+ return control.pending;
927
+ } else if (prop === 'untouched') {
928
+ return control.untouched;
929
+ } else if (prop === 'pristine') {
930
+ return control.pristine;
931
+ } else if (prop === 'invalid') {
932
+ return control.invalid;
933
+ }
934
+ return false;
935
+ }
893
936
  }
894
937
  _getSubscriptMessageType() {
895
- return this._errorChildren && this._errorChildren.length > 0 && this._control.errorState ? 'error' : 'hint';
938
+ return this._errorChildren && this._errorChildren.length > 0 && this._unwrapMaybeSignal(this._control.errorState) ? 'error' : 'hint';
896
939
  }
897
940
  _handleLabelResized() {
898
941
  this._refreshOutlineNotchWidth();
@@ -1006,7 +1049,7 @@ class MatFormField {
1006
1049
  }
1007
1050
  static ɵfac = i0.ɵɵngDeclareFactory({
1008
1051
  minVersion: "12.0.0",
1009
- version: "22.2.0-next.7",
1052
+ version: "22.2.0",
1010
1053
  ngImport: i0,
1011
1054
  type: MatFormField,
1012
1055
  deps: [],
@@ -1014,7 +1057,7 @@ class MatFormField {
1014
1057
  });
1015
1058
  static ɵcmp = i0.ɵɵngDeclareComponent({
1016
1059
  minVersion: "17.0.0",
1017
- version: "22.2.0-next.7",
1060
+ version: "22.2.0",
1018
1061
  type: MatFormField,
1019
1062
  isStandalone: true,
1020
1063
  selector: "mat-form-field",
@@ -1031,9 +1074,9 @@ class MatFormField {
1031
1074
  "class.mat-mdc-form-field-label-always-float": "_shouldAlwaysFloat()",
1032
1075
  "class.mat-mdc-form-field-has-icon-prefix": "_hasIconPrefix",
1033
1076
  "class.mat-mdc-form-field-has-icon-suffix": "_hasIconSuffix",
1034
- "class.mat-form-field-invalid": "_control.errorState",
1035
- "class.mat-form-field-disabled": "_control.disabled",
1036
- "class.mat-form-field-autofilled": "_control.autofilled",
1077
+ "class.mat-form-field-invalid": "_unwrapMaybeSignal(_control.errorState)",
1078
+ "class.mat-form-field-disabled": "_unwrapMaybeSignal(_control.disabled)",
1079
+ "class.mat-form-field-autofilled": "_unwrapMaybeSignal(_control.autofilled)",
1037
1080
  "class.mat-form-field-appearance-fill": "appearance == \"fill\"",
1038
1081
  "class.mat-form-field-appearance-outline": "appearance == \"outline\"",
1039
1082
  "class.mat-form-field-hide-placeholder": "_hasFloatingLabel() && !_shouldLabelFloat()",
@@ -1152,7 +1195,7 @@ class MatFormField {
1152
1195
  }],
1153
1196
  exportAs: ["matFormField"],
1154
1197
  ngImport: i0,
1155
- template: "<ng-template #labelTemplate>\n <!--\n MDC recommends that the text-field is a `<label>` element. This rather complicates the\n setup because it would require every form-field control to explicitly set `aria-labelledby`.\n This is because the `<label>` itself contains more than the actual label (e.g. prefix, suffix\n or other projected content), and screen readers could potentially read out undesired content.\n Excluding elements from being printed out requires them to be marked with `aria-hidden`, or\n the form control is set to a scoped element for the label (using `aria-labelledby`). Both of\n these options seem to complicate the setup because we know exactly what content is rendered\n as part of the label, and we don't want to spend resources on walking through projected content\n to set `aria-hidden`. Nor do we want to set `aria-labelledby` on every form control if we could\n simply link the label to the control using the label `for` attribute.\n -->\n @if (_hasFloatingLabel()) {\n <label\n matFormFieldFloatingLabel\n [floating]=\"_shouldLabelFloat()\"\n [monitorResize]=\"_hasOutline()\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.disableAutomaticLabeling ? null : _control.id\"\n >\n <ng-content select=\"mat-label\"></ng-content>\n <!--\n We set the required marker as a separate element, in order to make it easier to target if\n apps want to override it and to be able to set `aria-hidden` so that screen readers don't\n pick it up.\n -->\n @if (!hideRequiredMarker && _control.required) {\n <span\n aria-hidden=\"true\"\n class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"\n ></span>\n }\n </label>\n }\n</ng-template>\n\n<div\n class=\"mat-mdc-text-field-wrapper mdc-text-field\"\n #textField\n [class.mdc-text-field--filled]=\"!_hasOutline()\"\n [class.mdc-text-field--outlined]=\"_hasOutline()\"\n [class.mdc-text-field--no-label]=\"!_hasFloatingLabel()\"\n [class.mdc-text-field--disabled]=\"_control.disabled\"\n [class.mdc-text-field--invalid]=\"_control.errorState\"\n (click)=\"_control.onContainerClick($event)\"\n>\n @if (!_hasOutline() && !_control.disabled) {\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\n }\n <div class=\"mat-mdc-form-field-flex\">\n @if (_hasOutline()) {\n <div matFormFieldNotchedOutline [matFormFieldNotchedOutlineOpen]=\"_shouldLabelFloat()\">\n @if (!_forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n </div>\n }\n\n @if (_hasIconPrefix) {\n <div class=\"mat-mdc-form-field-icon-prefix\" #iconPrefixContainer>\n <ng-content select=\"[matPrefix], [matIconPrefix]\"></ng-content>\n </div>\n }\n\n @if (_hasTextPrefix) {\n <div class=\"mat-mdc-form-field-text-prefix\" #textPrefixContainer>\n <ng-content select=\"[matTextPrefix]\"></ng-content>\n </div>\n }\n\n <div class=\"mat-mdc-form-field-infix\">\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n\n <ng-content></ng-content>\n </div>\n\n @if (_hasTextSuffix) {\n <div class=\"mat-mdc-form-field-text-suffix\" #textSuffixContainer>\n <ng-content select=\"[matTextSuffix]\"></ng-content>\n </div>\n }\n\n @if (_hasIconSuffix) {\n <div class=\"mat-mdc-form-field-icon-suffix\" #iconSuffixContainer>\n <ng-content select=\"[matSuffix], [matIconSuffix]\"></ng-content>\n </div>\n }\n </div>\n\n @if (!_hasOutline()) {\n <div matFormFieldLineRipple></div>\n }\n</div>\n\n<div aria-atomic=\"true\" aria-live=\"polite\"\n class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align\"\n [class.mat-mdc-form-field-subscript-dynamic-size]=\"subscriptSizing === 'dynamic'\"\n>\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <ng-content select=\"mat-error, [matError]\"></ng-content>\n </div>\n }\n\n @case ('hint') {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n @if (hintLabel) {\n <mat-hint [id]=\"_hintLabelId\">{{hintLabel}}</mat-hint>\n }\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-mdc-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n }\n }\n</div>\n",
1198
+ template: "<ng-template #labelTemplate>\n <!--\n MDC recommends that the text-field is a `<label>` element. This rather complicates the\n setup because it would require every form-field control to explicitly set `aria-labelledby`.\n This is because the `<label>` itself contains more than the actual label (e.g. prefix, suffix\n or other projected content), and screen readers could potentially read out undesired content.\n Excluding elements from being printed out requires them to be marked with `aria-hidden`, or\n the form control is set to a scoped element for the label (using `aria-labelledby`). Both of\n these options seem to complicate the setup because we know exactly what content is rendered\n as part of the label, and we don't want to spend resources on walking through projected content\n to set `aria-hidden`. Nor do we want to set `aria-labelledby` on every form control if we could\n simply link the label to the control using the label `for` attribute.\n -->\n @if (_hasFloatingLabel()) {\n <label\n matFormFieldFloatingLabel\n [floating]=\"_shouldLabelFloat()\"\n [monitorResize]=\"_hasOutline()\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.disableAutomaticLabeling ? null : _control.id\"\n >\n <ng-content select=\"mat-label\"></ng-content>\n <!--\n We set the required marker as a separate element, in order to make it easier to target if\n apps want to override it and to be able to set `aria-hidden` so that screen readers don't\n pick it up.\n -->\n @if (!hideRequiredMarker && _unwrapMaybeSignal(_control.required)) {\n <span\n aria-hidden=\"true\"\n class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"\n ></span>\n }\n </label>\n }\n</ng-template>\n\n@let isDisabled = _unwrapMaybeSignal(_control.disabled);\n\n<div\n class=\"mat-mdc-text-field-wrapper mdc-text-field\"\n #textField\n [class.mdc-text-field--filled]=\"!_hasOutline()\"\n [class.mdc-text-field--outlined]=\"_hasOutline()\"\n [class.mdc-text-field--no-label]=\"!_hasFloatingLabel()\"\n [class.mdc-text-field--disabled]=\"isDisabled\"\n [class.mdc-text-field--invalid]=\"_unwrapMaybeSignal(_control.errorState)\"\n (click)=\"_control.onContainerClick($event)\"\n>\n @if (!_hasOutline() && !isDisabled) {\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\n }\n <div class=\"mat-mdc-form-field-flex\">\n @if (_hasOutline()) {\n <div matFormFieldNotchedOutline [matFormFieldNotchedOutlineOpen]=\"_shouldLabelFloat()\">\n @if (!_forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n </div>\n }\n\n @if (_hasIconPrefix) {\n <div class=\"mat-mdc-form-field-icon-prefix\" #iconPrefixContainer>\n <ng-content select=\"[matPrefix], [matIconPrefix]\"></ng-content>\n </div>\n }\n\n @if (_hasTextPrefix) {\n <div class=\"mat-mdc-form-field-text-prefix\" #textPrefixContainer>\n <ng-content select=\"[matTextPrefix]\"></ng-content>\n </div>\n }\n\n <div class=\"mat-mdc-form-field-infix\">\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n\n <ng-content></ng-content>\n </div>\n\n @if (_hasTextSuffix) {\n <div class=\"mat-mdc-form-field-text-suffix\" #textSuffixContainer>\n <ng-content select=\"[matTextSuffix]\"></ng-content>\n </div>\n }\n\n @if (_hasIconSuffix) {\n <div class=\"mat-mdc-form-field-icon-suffix\" #iconSuffixContainer>\n <ng-content select=\"[matSuffix], [matIconSuffix]\"></ng-content>\n </div>\n }\n </div>\n\n @if (!_hasOutline()) {\n <div matFormFieldLineRipple></div>\n }\n</div>\n\n<div aria-atomic=\"true\" aria-live=\"polite\"\n class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align\"\n [class.mat-mdc-form-field-subscript-dynamic-size]=\"subscriptSizing === 'dynamic'\"\n>\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <ng-content select=\"mat-error, [matError]\"></ng-content>\n </div>\n }\n\n @case ('hint') {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n @if (hintLabel) {\n <mat-hint [id]=\"_hintLabelId\">{{hintLabel}}</mat-hint>\n }\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-mdc-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n }\n }\n</div>\n",
1156
1199
  styles: [".mdc-text-field {\n display: inline-flex;\n align-items: baseline;\n padding: 0 16px;\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n will-change: opacity, transform, color;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.mdc-text-field__input {\n width: 100%;\n min-width: 0;\n border: none;\n border-radius: 0;\n background: none;\n padding: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n height: 28px;\n}\n.mdc-text-field__input::-webkit-calendar-picker-indicator, .mdc-text-field__input::-webkit-search-cancel-button {\n display: none;\n}\n.mdc-text-field__input::-ms-clear {\n display: none;\n}\n.mdc-text-field__input:focus {\n outline: none;\n}\n.mdc-text-field__input:invalid {\n box-shadow: none;\n}\n.mdc-text-field__input::placeholder {\n opacity: 0;\n}\n.mdc-text-field__input::-moz-placeholder {\n opacity: 0;\n}\n.mdc-text-field__input::-webkit-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field__input:-ms-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--no-label .mdc-text-field__input::placeholder, .mdc-text-field--focused .mdc-text-field__input::placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder, .mdc-text-field--focused .mdc-text-field__input::-moz-placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder, .mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder, .mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder {\n opacity: 1;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input {\n height: 100%;\n}\n.mdc-text-field--outlined .mdc-text-field__input {\n display: flex;\n border: none !important;\n background-color: transparent;\n}\n.mdc-text-field--disabled .mdc-text-field__input {\n pointer-events: auto;\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input {\n color: var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));\n caret-color: var(--mat-form-field-filled-caret-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input {\n color: var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));\n caret-color: var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input {\n caret-color: var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input {\n caret-color: var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input {\n color: var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {\n color: var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n@media (forced-colors: active) {\n .mdc-text-field--disabled .mdc-text-field__input {\n background-color: Window;\n }\n}\n\n.mdc-text-field--filled {\n height: 56px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));\n border-top-right-radius: var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) {\n background-color: var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--disabled {\n background-color: var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent));\n}\n\n.mdc-text-field--outlined {\n height: 56px;\n overflow: visible;\n padding-right: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n padding-left: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);\n}\n[dir=rtl] .mdc-text-field--outlined {\n padding-right: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);\n padding-left: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n}\n\n.mdc-floating-label {\n position: absolute;\n left: 0;\n transform-origin: left top;\n line-height: 1.15rem;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: text;\n overflow: hidden;\n will-change: transform;\n}\n[dir=rtl] .mdc-floating-label {\n right: 0;\n left: auto;\n transform-origin: right top;\n text-align: right;\n}\n.mdc-text-field .mdc-floating-label {\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n}\n.mdc-notched-outline .mdc-floating-label {\n display: inline-block;\n position: relative;\n max-width: 100%;\n}\n.mdc-text-field--outlined .mdc-floating-label {\n left: 4px;\n right: auto;\n}\n[dir=rtl] .mdc-text-field--outlined .mdc-floating-label {\n left: auto;\n right: 4px;\n}\n.mdc-text-field--filled .mdc-floating-label {\n left: 16px;\n right: auto;\n}\n[dir=rtl] .mdc-text-field--filled .mdc-floating-label {\n left: auto;\n right: 16px;\n}\n.mdc-text-field--disabled .mdc-floating-label {\n cursor: default;\n}\n@media (forced-colors: active) {\n .mdc-text-field--disabled .mdc-floating-label {\n z-index: 1;\n }\n}\n.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label {\n display: none;\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label {\n color: var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label {\n color: var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label {\n color: var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label {\n color: var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--filled .mdc-floating-label {\n font-family: var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));\n font-size: var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));\n font-weight: var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));\n letter-spacing: var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label {\n color: var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label {\n color: var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--outlined .mdc-floating-label {\n font-family: var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));\n font-size: var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));\n font-weight: var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));\n letter-spacing: var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking));\n}\n\n.mdc-floating-label--float-above {\n cursor: auto;\n transform: translateY(-106%) scale(0.75);\n}\n.mdc-text-field--filled .mdc-floating-label--float-above {\n transform: translateY(-106%) scale(0.75);\n}\n.mdc-text-field--outlined .mdc-floating-label--float-above {\n transform: translateY(-37.25px) scale(1);\n font-size: 0.75rem;\n}\n.mdc-notched-outline .mdc-floating-label--float-above {\n text-overflow: clip;\n}\n.mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n max-width: 133.3333333333%;\n}\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n transform: translateY(-34.75px) scale(0.75);\n}\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem;\n}\n\n.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after {\n margin-left: 1px;\n margin-right: 0;\n content: \"*\";\n}\n[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after {\n margin-left: 0;\n margin-right: 1px;\n}\n\n.mdc-notched-outline {\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n text-align: left;\n pointer-events: none;\n}\n[dir=rtl] .mdc-notched-outline {\n text-align: right;\n}\n.mdc-text-field--outlined .mdc-notched-outline {\n z-index: 1;\n}\n\n.mat-mdc-notch-piece {\n box-sizing: border-box;\n height: 100%;\n pointer-events: none;\n border: none;\n border-top: 1px solid;\n border-bottom: 1px solid;\n}\n.mdc-text-field--focused .mat-mdc-notch-piece {\n border-width: 2px;\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));\n border-width: var(--mat-form-field-outlined-outline-width, 1px);\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece {\n border-width: var(--mat-form-field-outlined-focus-outline-width, 2px);\n}\n\n.mdc-notched-outline__leading {\n border-left: 1px solid;\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {\n width: max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n}\n[dir=rtl] .mdc-notched-outline__leading {\n border-left: none;\n border-right: 1px solid;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n border-top-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n\n.mdc-notched-outline__trailing {\n flex-grow: 1;\n border-left: none;\n border-right: 1px solid;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n[dir=rtl] .mdc-notched-outline__trailing {\n border-left: 1px solid;\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n\n.mdc-notched-outline__notch {\n flex: 0 0 auto;\n width: auto;\n}\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch {\n max-width: min(var(--mat-form-field-notch-max-width, 100%), calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2));\n}\n.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n max-width: min(100%, calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2));\n}\n.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-top: 1px;\n}\n.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-top: 2px;\n}\n.mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-left: 0;\n padding-right: 8px;\n border-top: none;\n}\n[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-left: 8px;\n padding-right: 0;\n}\n.mdc-notched-outline--no-label .mdc-notched-outline__notch {\n display: none;\n}\n\n.mdc-line-ripple::before, .mdc-line-ripple::after {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n border-bottom-style: solid;\n content: \"\";\n}\n.mdc-line-ripple::before {\n z-index: 1;\n border-bottom-width: var(--mat-form-field-filled-active-indicator-height, 1px);\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container));\n}\n.mdc-line-ripple::after {\n transform: scaleX(0);\n opacity: 0;\n z-index: 2;\n}\n.mdc-text-field--filled .mdc-line-ripple::after {\n border-bottom-width: var(--mat-form-field-filled-focus-active-indicator-height, 2px);\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after {\n border-bottom-color: var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after {\n border-bottom-color: var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error));\n}\n\n.mdc-line-ripple--active::after {\n transform: scaleX(1);\n opacity: 1;\n}\n\n.mdc-line-ripple--deactivating::after {\n opacity: 0;\n}\n\n.mdc-text-field--disabled {\n pointer-events: none;\n}\n\n.mat-mdc-form-field-textarea-control {\n vertical-align: middle;\n resize: vertical;\n box-sizing: border-box;\n height: auto;\n margin: 0;\n padding: 0;\n border: none;\n overflow: auto;\n}\n\n.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n border: none;\n}\n\n.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n line-height: normal;\n pointer-events: all;\n will-change: auto;\n}\n\n.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label {\n cursor: inherit;\n}\n\n.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control {\n height: auto;\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color] {\n height: 23px;\n}\n\n.mat-mdc-text-field-wrapper {\n height: auto;\n flex: auto;\n will-change: auto;\n}\n\n.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper {\n padding-left: 0;\n --mat-mdc-form-field-label-offset-x: -16px;\n}\n\n.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper {\n padding-right: 0;\n}\n\n[dir=rtl] .mat-mdc-text-field-wrapper {\n padding-left: 16px;\n padding-right: 16px;\n}\n[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper {\n padding-left: 0;\n}\n[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper {\n padding-right: 0;\n}\n\n.mat-form-field-disabled .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1;\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label {\n left: auto;\n right: auto;\n}\n\n.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input {\n display: inline-block;\n}\n\n.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch {\n padding-top: 0;\n}\n\n.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch {\n border-left: 1px solid transparent;\n}\n\n[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch {\n border-left: none;\n border-right: 1px solid transparent;\n}\n\n.mat-mdc-form-field-infix {\n min-height: var(--mat-form-field-container-height, 56px);\n padding-top: var(--mat-form-field-filled-with-label-container-padding-top, 24px);\n padding-bottom: var(--mat-form-field-filled-with-label-container-padding-bottom, 8px);\n}\n.mdc-text-field--outlined .mat-mdc-form-field-infix, .mdc-text-field--no-label .mat-mdc-form-field-infix {\n padding-top: var(--mat-form-field-container-vertical-padding, 16px);\n padding-bottom: var(--mat-form-field-container-vertical-padding, 16px);\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {\n top: calc(var(--mat-form-field-container-height, 56px) / 2);\n}\n\n.mdc-text-field--filled .mat-mdc-floating-label {\n display: var(--mat-form-field-filled-label-display, block);\n}\n\n.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n --mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1))\n scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));\n transform: var(--mat-mdc-form-field-label-transform);\n}\n\n@keyframes _mat-form-field-subscript-animation {\n from {\n opacity: 0;\n transform: translateY(-5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.mat-mdc-form-field-subscript-wrapper {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n}\n\n.mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field-error-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: 0 16px;\n opacity: 1;\n transform: translateY(0);\n animation: _mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2);\n}\n\n.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper {\n position: static;\n}\n\n.mat-mdc-form-field-bottom-align::before {\n content: \"\";\n display: inline-block;\n height: 16px;\n}\n\n.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before {\n content: unset;\n}\n\n.mat-mdc-form-field-hint-end {\n order: 1;\n}\n\n.mat-mdc-form-field-hint-wrapper {\n display: flex;\n}\n\n.mat-mdc-form-field-hint-spacer {\n flex: 1 0 1em;\n}\n\n.mat-mdc-form-field-error {\n display: block;\n color: var(--mat-form-field-error-text-color, var(--mat-sys-error));\n}\n\n.mat-mdc-form-field-subscript-wrapper,\n.mat-mdc-form-field-bottom-align::before {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));\n line-height: var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));\n font-size: var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));\n letter-spacing: var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));\n font-weight: var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight));\n}\n\n.mat-mdc-form-field-focus-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n opacity: 0;\n pointer-events: none;\n background-color: var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface));\n}\n.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay {\n opacity: var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay {\n opacity: var(--mat-form-field-focus-state-layer-opacity, 0);\n}\n\nselect.mat-mdc-form-field-input-control {\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: transparent;\n display: inline-flex;\n box-sizing: border-box;\n}\nselect.mat-mdc-form-field-input-control:not(:disabled) {\n cursor: pointer;\n}\nselect.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option {\n color: var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10));\n}\nselect.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled {\n color: var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent));\n}\n\n.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after {\n content: \"\";\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid;\n position: absolute;\n right: 0;\n top: 50%;\n margin-top: -2.5px;\n pointer-events: none;\n color: var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant));\n}\n[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after {\n right: auto;\n left: 0;\n}\n.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after {\n color: var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary));\n}\n.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after {\n color: var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control {\n padding-right: 15px;\n}\n[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control {\n padding-right: 0;\n padding-left: 15px;\n}\n\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper {\n outline: solid 1px;\n }\n}\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper {\n outline-color: GrayText;\n }\n}\n\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper {\n outline: dashed 3px;\n }\n}\n\n@media (forced-colors: active) {\n .mat-mdc-form-field.mat-focused .mdc-notched-outline {\n border: dashed 3px;\n }\n}\n\n.mat-mdc-form-field-input-control[type=date], .mat-mdc-form-field-input-control[type=datetime], .mat-mdc-form-field-input-control[type=datetime-local], .mat-mdc-form-field-input-control[type=month], .mat-mdc-form-field-input-control[type=week], .mat-mdc-form-field-input-control[type=time] {\n line-height: 1;\n}\n.mat-mdc-form-field-input-control::-webkit-datetime-edit {\n line-height: 1;\n padding: 0;\n margin-bottom: -2px;\n}\n\n.mat-mdc-form-field {\n --mat-mdc-form-field-floating-label-scale: 0.75;\n display: inline-flex;\n flex-direction: column;\n min-width: 0;\n text-align: left;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));\n line-height: var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));\n font-size: var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));\n letter-spacing: var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));\n font-weight: var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight));\n}\n.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above {\n font-size: calc(var(--mat-form-field-outlined-label-text-populated-size) * var(--mat-mdc-form-field-floating-label-scale));\n}\n.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: var(--mat-form-field-outlined-label-text-populated-size);\n}\n[dir=rtl] .mat-mdc-form-field {\n text-align: right;\n}\n\n.mat-mdc-form-field-flex {\n display: inline-flex;\n align-items: baseline;\n box-sizing: border-box;\n width: 100%;\n}\n\n.mat-mdc-text-field-wrapper {\n width: 100%;\n z-index: 0;\n}\n\n.mat-mdc-form-field-icon-prefix,\n.mat-mdc-form-field-icon-suffix {\n align-self: center;\n line-height: 0;\n pointer-events: auto;\n position: relative;\n z-index: 1;\n}\n.mat-mdc-form-field-icon-prefix > .mat-icon,\n.mat-mdc-form-field-icon-suffix > .mat-icon {\n padding: 0 12px;\n box-sizing: content-box;\n}\n\n.mat-mdc-form-field-icon-prefix {\n color: var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-form-field-disabled .mat-mdc-form-field-icon-prefix {\n color: var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-form-field-disabled .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-invalid .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error));\n}\n.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container));\n}\n.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error));\n}\n\n.mat-mdc-form-field-icon-prefix,\n[dir=rtl] .mat-mdc-form-field-icon-suffix {\n padding: 0 4px 0 0;\n}\n\n.mat-mdc-form-field-icon-suffix,\n[dir=rtl] .mat-mdc-form-field-icon-prefix {\n padding: 0 0 0 4px;\n}\n\n.mat-mdc-form-field-subscript-wrapper .mat-icon,\n.mat-mdc-form-field label .mat-icon {\n width: 1em;\n height: 1em;\n font-size: inherit;\n}\n\n.mat-mdc-form-field-infix {\n flex: auto;\n min-width: 0;\n width: 180px;\n position: relative;\n box-sizing: border-box;\n}\n.mat-mdc-form-field-infix:has(textarea[cols]) {\n width: auto;\n}\n\n.mat-mdc-form-field .mdc-notched-outline__notch {\n margin-left: -1px;\n -webkit-clip-path: inset(-9em -999em -9em 1px);\n clip-path: inset(-9em -999em -9em 1px);\n}\n[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch {\n margin-left: 0;\n margin-right: -1px;\n -webkit-clip-path: inset(-9em 1px -9em -999em);\n clip-path: inset(-9em 1px -9em -999em);\n}\n\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label {\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input {\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before {\n transition-duration: 75ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after {\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper {\n animation-duration: 300ms;\n}\n\n.mdc-notched-outline .mdc-floating-label {\n max-width: calc(100% + 1px);\n}\n\n.mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n max-width: calc(133.3333333333% + 1px);\n}\n"],
1157
1200
  dependencies: [{
1158
1201
  kind: "directive",
@@ -1184,7 +1227,7 @@ class MatFormField {
1184
1227
  }
1185
1228
  i0.ɵɵngDeclareClassMetadata({
1186
1229
  minVersion: "12.0.0",
1187
- version: "22.2.0-next.7",
1230
+ version: "22.2.0",
1188
1231
  ngImport: i0,
1189
1232
  type: MatFormField,
1190
1233
  decorators: [{
@@ -1197,9 +1240,9 @@ i0.ɵɵngDeclareClassMetadata({
1197
1240
  '[class.mat-mdc-form-field-label-always-float]': '_shouldAlwaysFloat()',
1198
1241
  '[class.mat-mdc-form-field-has-icon-prefix]': '_hasIconPrefix',
1199
1242
  '[class.mat-mdc-form-field-has-icon-suffix]': '_hasIconSuffix',
1200
- '[class.mat-form-field-invalid]': '_control.errorState',
1201
- '[class.mat-form-field-disabled]': '_control.disabled',
1202
- '[class.mat-form-field-autofilled]': '_control.autofilled',
1243
+ '[class.mat-form-field-invalid]': '_unwrapMaybeSignal(_control.errorState)',
1244
+ '[class.mat-form-field-disabled]': '_unwrapMaybeSignal(_control.disabled)',
1245
+ '[class.mat-form-field-autofilled]': '_unwrapMaybeSignal(_control.autofilled)',
1203
1246
  '[class.mat-form-field-appearance-fill]': 'appearance == "fill"',
1204
1247
  '[class.mat-form-field-appearance-outline]': 'appearance == "outline"',
1205
1248
  '[class.mat-form-field-hide-placeholder]': '_hasFloatingLabel() && !_shouldLabelFloat()',
@@ -1223,7 +1266,7 @@ i0.ɵɵngDeclareClassMetadata({
1223
1266
  useExisting: MatFormField
1224
1267
  }],
1225
1268
  imports: [MatFormFieldFloatingLabel, MatFormFieldNotchedOutline, NgTemplateOutlet, MatFormFieldLineRipple, MatHint],
1226
- template: "<ng-template #labelTemplate>\n <!--\n MDC recommends that the text-field is a `<label>` element. This rather complicates the\n setup because it would require every form-field control to explicitly set `aria-labelledby`.\n This is because the `<label>` itself contains more than the actual label (e.g. prefix, suffix\n or other projected content), and screen readers could potentially read out undesired content.\n Excluding elements from being printed out requires them to be marked with `aria-hidden`, or\n the form control is set to a scoped element for the label (using `aria-labelledby`). Both of\n these options seem to complicate the setup because we know exactly what content is rendered\n as part of the label, and we don't want to spend resources on walking through projected content\n to set `aria-hidden`. Nor do we want to set `aria-labelledby` on every form control if we could\n simply link the label to the control using the label `for` attribute.\n -->\n @if (_hasFloatingLabel()) {\n <label\n matFormFieldFloatingLabel\n [floating]=\"_shouldLabelFloat()\"\n [monitorResize]=\"_hasOutline()\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.disableAutomaticLabeling ? null : _control.id\"\n >\n <ng-content select=\"mat-label\"></ng-content>\n <!--\n We set the required marker as a separate element, in order to make it easier to target if\n apps want to override it and to be able to set `aria-hidden` so that screen readers don't\n pick it up.\n -->\n @if (!hideRequiredMarker && _control.required) {\n <span\n aria-hidden=\"true\"\n class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"\n ></span>\n }\n </label>\n }\n</ng-template>\n\n<div\n class=\"mat-mdc-text-field-wrapper mdc-text-field\"\n #textField\n [class.mdc-text-field--filled]=\"!_hasOutline()\"\n [class.mdc-text-field--outlined]=\"_hasOutline()\"\n [class.mdc-text-field--no-label]=\"!_hasFloatingLabel()\"\n [class.mdc-text-field--disabled]=\"_control.disabled\"\n [class.mdc-text-field--invalid]=\"_control.errorState\"\n (click)=\"_control.onContainerClick($event)\"\n>\n @if (!_hasOutline() && !_control.disabled) {\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\n }\n <div class=\"mat-mdc-form-field-flex\">\n @if (_hasOutline()) {\n <div matFormFieldNotchedOutline [matFormFieldNotchedOutlineOpen]=\"_shouldLabelFloat()\">\n @if (!_forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n </div>\n }\n\n @if (_hasIconPrefix) {\n <div class=\"mat-mdc-form-field-icon-prefix\" #iconPrefixContainer>\n <ng-content select=\"[matPrefix], [matIconPrefix]\"></ng-content>\n </div>\n }\n\n @if (_hasTextPrefix) {\n <div class=\"mat-mdc-form-field-text-prefix\" #textPrefixContainer>\n <ng-content select=\"[matTextPrefix]\"></ng-content>\n </div>\n }\n\n <div class=\"mat-mdc-form-field-infix\">\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n\n <ng-content></ng-content>\n </div>\n\n @if (_hasTextSuffix) {\n <div class=\"mat-mdc-form-field-text-suffix\" #textSuffixContainer>\n <ng-content select=\"[matTextSuffix]\"></ng-content>\n </div>\n }\n\n @if (_hasIconSuffix) {\n <div class=\"mat-mdc-form-field-icon-suffix\" #iconSuffixContainer>\n <ng-content select=\"[matSuffix], [matIconSuffix]\"></ng-content>\n </div>\n }\n </div>\n\n @if (!_hasOutline()) {\n <div matFormFieldLineRipple></div>\n }\n</div>\n\n<div aria-atomic=\"true\" aria-live=\"polite\"\n class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align\"\n [class.mat-mdc-form-field-subscript-dynamic-size]=\"subscriptSizing === 'dynamic'\"\n>\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <ng-content select=\"mat-error, [matError]\"></ng-content>\n </div>\n }\n\n @case ('hint') {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n @if (hintLabel) {\n <mat-hint [id]=\"_hintLabelId\">{{hintLabel}}</mat-hint>\n }\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-mdc-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n }\n }\n</div>\n",
1269
+ template: "<ng-template #labelTemplate>\n <!--\n MDC recommends that the text-field is a `<label>` element. This rather complicates the\n setup because it would require every form-field control to explicitly set `aria-labelledby`.\n This is because the `<label>` itself contains more than the actual label (e.g. prefix, suffix\n or other projected content), and screen readers could potentially read out undesired content.\n Excluding elements from being printed out requires them to be marked with `aria-hidden`, or\n the form control is set to a scoped element for the label (using `aria-labelledby`). Both of\n these options seem to complicate the setup because we know exactly what content is rendered\n as part of the label, and we don't want to spend resources on walking through projected content\n to set `aria-hidden`. Nor do we want to set `aria-labelledby` on every form control if we could\n simply link the label to the control using the label `for` attribute.\n -->\n @if (_hasFloatingLabel()) {\n <label\n matFormFieldFloatingLabel\n [floating]=\"_shouldLabelFloat()\"\n [monitorResize]=\"_hasOutline()\"\n [id]=\"_labelId\"\n [attr.for]=\"_control.disableAutomaticLabeling ? null : _control.id\"\n >\n <ng-content select=\"mat-label\"></ng-content>\n <!--\n We set the required marker as a separate element, in order to make it easier to target if\n apps want to override it and to be able to set `aria-hidden` so that screen readers don't\n pick it up.\n -->\n @if (!hideRequiredMarker && _unwrapMaybeSignal(_control.required)) {\n <span\n aria-hidden=\"true\"\n class=\"mat-mdc-form-field-required-marker mdc-floating-label--required\"\n ></span>\n }\n </label>\n }\n</ng-template>\n\n@let isDisabled = _unwrapMaybeSignal(_control.disabled);\n\n<div\n class=\"mat-mdc-text-field-wrapper mdc-text-field\"\n #textField\n [class.mdc-text-field--filled]=\"!_hasOutline()\"\n [class.mdc-text-field--outlined]=\"_hasOutline()\"\n [class.mdc-text-field--no-label]=\"!_hasFloatingLabel()\"\n [class.mdc-text-field--disabled]=\"isDisabled\"\n [class.mdc-text-field--invalid]=\"_unwrapMaybeSignal(_control.errorState)\"\n (click)=\"_control.onContainerClick($event)\"\n>\n @if (!_hasOutline() && !isDisabled) {\n <div class=\"mat-mdc-form-field-focus-overlay\"></div>\n }\n <div class=\"mat-mdc-form-field-flex\">\n @if (_hasOutline()) {\n <div matFormFieldNotchedOutline [matFormFieldNotchedOutlineOpen]=\"_shouldLabelFloat()\">\n @if (!_forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n </div>\n }\n\n @if (_hasIconPrefix) {\n <div class=\"mat-mdc-form-field-icon-prefix\" #iconPrefixContainer>\n <ng-content select=\"[matPrefix], [matIconPrefix]\"></ng-content>\n </div>\n }\n\n @if (_hasTextPrefix) {\n <div class=\"mat-mdc-form-field-text-prefix\" #textPrefixContainer>\n <ng-content select=\"[matTextPrefix]\"></ng-content>\n </div>\n }\n\n <div class=\"mat-mdc-form-field-infix\">\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"></ng-template>\n }\n\n <ng-content></ng-content>\n </div>\n\n @if (_hasTextSuffix) {\n <div class=\"mat-mdc-form-field-text-suffix\" #textSuffixContainer>\n <ng-content select=\"[matTextSuffix]\"></ng-content>\n </div>\n }\n\n @if (_hasIconSuffix) {\n <div class=\"mat-mdc-form-field-icon-suffix\" #iconSuffixContainer>\n <ng-content select=\"[matSuffix], [matIconSuffix]\"></ng-content>\n </div>\n }\n </div>\n\n @if (!_hasOutline()) {\n <div matFormFieldLineRipple></div>\n }\n</div>\n\n<div aria-atomic=\"true\" aria-live=\"polite\"\n class=\"mat-mdc-form-field-subscript-wrapper mat-mdc-form-field-bottom-align\"\n [class.mat-mdc-form-field-subscript-dynamic-size]=\"subscriptSizing === 'dynamic'\"\n>\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n <div class=\"mat-mdc-form-field-error-wrapper\">\n <ng-content select=\"mat-error, [matError]\"></ng-content>\n </div>\n }\n\n @case ('hint') {\n <div class=\"mat-mdc-form-field-hint-wrapper\">\n @if (hintLabel) {\n <mat-hint [id]=\"_hintLabelId\">{{hintLabel}}</mat-hint>\n }\n <ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n <div class=\"mat-mdc-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint[align='end']\"></ng-content>\n </div>\n }\n }\n</div>\n",
1227
1270
  styles: [".mdc-text-field {\n display: inline-flex;\n align-items: baseline;\n padding: 0 16px;\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n will-change: opacity, transform, color;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.mdc-text-field__input {\n width: 100%;\n min-width: 0;\n border: none;\n border-radius: 0;\n background: none;\n padding: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n height: 28px;\n}\n.mdc-text-field__input::-webkit-calendar-picker-indicator, .mdc-text-field__input::-webkit-search-cancel-button {\n display: none;\n}\n.mdc-text-field__input::-ms-clear {\n display: none;\n}\n.mdc-text-field__input:focus {\n outline: none;\n}\n.mdc-text-field__input:invalid {\n box-shadow: none;\n}\n.mdc-text-field__input::placeholder {\n opacity: 0;\n}\n.mdc-text-field__input::-moz-placeholder {\n opacity: 0;\n}\n.mdc-text-field__input::-webkit-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field__input:-ms-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--no-label .mdc-text-field__input::placeholder, .mdc-text-field--focused .mdc-text-field__input::placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder, .mdc-text-field--focused .mdc-text-field__input::-moz-placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder, .mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder {\n opacity: 1;\n}\n.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder, .mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder {\n opacity: 1;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder {\n opacity: 0;\n}\n.mdc-text-field--outlined .mdc-text-field__input, .mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input {\n height: 100%;\n}\n.mdc-text-field--outlined .mdc-text-field__input {\n display: flex;\n border: none !important;\n background-color: transparent;\n}\n.mdc-text-field--disabled .mdc-text-field__input {\n pointer-events: auto;\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input {\n color: var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));\n caret-color: var(--mat-form-field-filled-caret-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input {\n color: var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));\n caret-color: var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input {\n caret-color: var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input {\n caret-color: var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input {\n color: var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input {\n color: var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n@media (forced-colors: active) {\n .mdc-text-field--disabled .mdc-text-field__input {\n background-color: Window;\n }\n}\n\n.mdc-text-field--filled {\n height: 56px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));\n border-top-right-radius: var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) {\n background-color: var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--disabled {\n background-color: var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent));\n}\n\n.mdc-text-field--outlined {\n height: 56px;\n overflow: visible;\n padding-right: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n padding-left: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);\n}\n[dir=rtl] .mdc-text-field--outlined {\n padding-right: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);\n padding-left: max(16px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n}\n\n.mdc-floating-label {\n position: absolute;\n left: 0;\n transform-origin: left top;\n line-height: 1.15rem;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: text;\n overflow: hidden;\n will-change: transform;\n}\n[dir=rtl] .mdc-floating-label {\n right: 0;\n left: auto;\n transform-origin: right top;\n text-align: right;\n}\n.mdc-text-field .mdc-floating-label {\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n}\n.mdc-notched-outline .mdc-floating-label {\n display: inline-block;\n position: relative;\n max-width: 100%;\n}\n.mdc-text-field--outlined .mdc-floating-label {\n left: 4px;\n right: auto;\n}\n[dir=rtl] .mdc-text-field--outlined .mdc-floating-label {\n left: auto;\n right: 4px;\n}\n.mdc-text-field--filled .mdc-floating-label {\n left: 16px;\n right: auto;\n}\n[dir=rtl] .mdc-text-field--filled .mdc-floating-label {\n left: auto;\n right: 16px;\n}\n.mdc-text-field--disabled .mdc-floating-label {\n cursor: default;\n}\n@media (forced-colors: active) {\n .mdc-text-field--disabled .mdc-floating-label {\n z-index: 1;\n }\n}\n.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label {\n display: none;\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label {\n color: var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label {\n color: var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label {\n color: var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label {\n color: var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--filled .mdc-floating-label {\n font-family: var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));\n font-size: var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));\n font-weight: var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));\n letter-spacing: var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label {\n color: var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label {\n color: var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label {\n color: var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label {\n color: var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--outlined .mdc-floating-label {\n font-family: var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));\n font-size: var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));\n font-weight: var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));\n letter-spacing: var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking));\n}\n\n.mdc-floating-label--float-above {\n cursor: auto;\n transform: translateY(-106%) scale(0.75);\n}\n.mdc-text-field--filled .mdc-floating-label--float-above {\n transform: translateY(-106%) scale(0.75);\n}\n.mdc-text-field--outlined .mdc-floating-label--float-above {\n transform: translateY(-37.25px) scale(1);\n font-size: 0.75rem;\n}\n.mdc-notched-outline .mdc-floating-label--float-above {\n text-overflow: clip;\n}\n.mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n max-width: 133.3333333333%;\n}\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n transform: translateY(-34.75px) scale(0.75);\n}\n.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: 1rem;\n}\n\n.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after {\n margin-left: 1px;\n margin-right: 0;\n content: \"*\";\n}\n[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after {\n margin-left: 0;\n margin-right: 1px;\n}\n\n.mdc-notched-outline {\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n text-align: left;\n pointer-events: none;\n}\n[dir=rtl] .mdc-notched-outline {\n text-align: right;\n}\n.mdc-text-field--outlined .mdc-notched-outline {\n z-index: 1;\n}\n\n.mat-mdc-notch-piece {\n box-sizing: border-box;\n height: 100%;\n pointer-events: none;\n border: none;\n border-top: 1px solid;\n border-bottom: 1px solid;\n}\n.mdc-text-field--focused .mat-mdc-notch-piece {\n border-width: 2px;\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));\n border-width: var(--mat-form-field-outlined-outline-width, 1px);\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary));\n}\n.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece {\n border-color: var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error));\n}\n.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece {\n border-width: var(--mat-form-field-outlined-focus-outline-width, 2px);\n}\n\n.mdc-notched-outline__leading {\n border-left: 1px solid;\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {\n width: max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));\n}\n[dir=rtl] .mdc-notched-outline__leading {\n border-left: none;\n border-right: 1px solid;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n border-top-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n\n.mdc-notched-outline__trailing {\n flex-grow: 1;\n border-left: none;\n border-right: 1px solid;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-right-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n[dir=rtl] .mdc-notched-outline__trailing {\n border-left: 1px solid;\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n border-bottom-left-radius: var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));\n}\n\n.mdc-notched-outline__notch {\n flex: 0 0 auto;\n width: auto;\n}\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch {\n max-width: min(var(--mat-form-field-notch-max-width, 100%), calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2));\n}\n.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n max-width: min(100%, calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2));\n}\n.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-top: 1px;\n}\n.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-top: 2px;\n}\n.mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-left: 0;\n padding-right: 8px;\n border-top: none;\n}\n[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch {\n padding-left: 8px;\n padding-right: 0;\n}\n.mdc-notched-outline--no-label .mdc-notched-outline__notch {\n display: none;\n}\n\n.mdc-line-ripple::before, .mdc-line-ripple::after {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n border-bottom-style: solid;\n content: \"\";\n}\n.mdc-line-ripple::before {\n z-index: 1;\n border-bottom-width: var(--mat-form-field-filled-active-indicator-height, 1px);\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface));\n}\n.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error));\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before {\n border-bottom-color: var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container));\n}\n.mdc-line-ripple::after {\n transform: scaleX(0);\n opacity: 0;\n z-index: 2;\n}\n.mdc-text-field--filled .mdc-line-ripple::after {\n border-bottom-width: var(--mat-form-field-filled-focus-active-indicator-height, 2px);\n}\n.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after {\n border-bottom-color: var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary));\n}\n.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after {\n border-bottom-color: var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error));\n}\n\n.mdc-line-ripple--active::after {\n transform: scaleX(1);\n opacity: 1;\n}\n\n.mdc-line-ripple--deactivating::after {\n opacity: 0;\n}\n\n.mdc-text-field--disabled {\n pointer-events: none;\n}\n\n.mat-mdc-form-field-textarea-control {\n vertical-align: middle;\n resize: vertical;\n box-sizing: border-box;\n height: auto;\n margin: 0;\n padding: 0;\n border: none;\n overflow: auto;\n}\n\n.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n border: none;\n}\n\n.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n line-height: normal;\n pointer-events: all;\n will-change: auto;\n}\n\n.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label {\n cursor: inherit;\n}\n\n.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control {\n height: auto;\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color] {\n height: 23px;\n}\n\n.mat-mdc-text-field-wrapper {\n height: auto;\n flex: auto;\n will-change: auto;\n}\n\n.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper {\n padding-left: 0;\n --mat-mdc-form-field-label-offset-x: -16px;\n}\n\n.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper {\n padding-right: 0;\n}\n\n[dir=rtl] .mat-mdc-text-field-wrapper {\n padding-left: 16px;\n padding-right: 16px;\n}\n[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper {\n padding-left: 0;\n}\n[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper {\n padding-right: 0;\n}\n\n.mat-form-field-disabled .mdc-text-field__input::placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder {\n color: var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n opacity: 1;\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label {\n left: auto;\n right: auto;\n}\n\n.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input {\n display: inline-block;\n}\n\n.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch {\n padding-top: 0;\n}\n\n.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch {\n border-left: 1px solid transparent;\n}\n\n[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch {\n border-left: none;\n border-right: 1px solid transparent;\n}\n\n.mat-mdc-form-field-infix {\n min-height: var(--mat-form-field-container-height, 56px);\n padding-top: var(--mat-form-field-filled-with-label-container-padding-top, 24px);\n padding-bottom: var(--mat-form-field-filled-with-label-container-padding-bottom, 8px);\n}\n.mdc-text-field--outlined .mat-mdc-form-field-infix, .mdc-text-field--no-label .mat-mdc-form-field-infix {\n padding-top: var(--mat-form-field-container-vertical-padding, 16px);\n padding-bottom: var(--mat-form-field-container-vertical-padding, 16px);\n}\n\n.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label {\n top: calc(var(--mat-form-field-container-height, 56px) / 2);\n}\n\n.mdc-text-field--filled .mat-mdc-floating-label {\n display: var(--mat-form-field-filled-label-display, block);\n}\n\n.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n --mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1))\n scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));\n transform: var(--mat-mdc-form-field-label-transform);\n}\n\n@keyframes _mat-form-field-subscript-animation {\n from {\n opacity: 0;\n transform: translateY(-5px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.mat-mdc-form-field-subscript-wrapper {\n box-sizing: border-box;\n width: 100%;\n position: relative;\n}\n\n.mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field-error-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: 0 16px;\n opacity: 1;\n transform: translateY(0);\n animation: _mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2);\n}\n\n.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper {\n position: static;\n}\n\n.mat-mdc-form-field-bottom-align::before {\n content: \"\";\n display: inline-block;\n height: 16px;\n}\n\n.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before {\n content: unset;\n}\n\n.mat-mdc-form-field-hint-end {\n order: 1;\n}\n\n.mat-mdc-form-field-hint-wrapper {\n display: flex;\n}\n\n.mat-mdc-form-field-hint-spacer {\n flex: 1 0 1em;\n}\n\n.mat-mdc-form-field-error {\n display: block;\n color: var(--mat-form-field-error-text-color, var(--mat-sys-error));\n}\n\n.mat-mdc-form-field-subscript-wrapper,\n.mat-mdc-form-field-bottom-align::before {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));\n line-height: var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));\n font-size: var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));\n letter-spacing: var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));\n font-weight: var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight));\n}\n\n.mat-mdc-form-field-focus-overlay {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n opacity: 0;\n pointer-events: none;\n background-color: var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface));\n}\n.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay {\n opacity: var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay {\n opacity: var(--mat-form-field-focus-state-layer-opacity, 0);\n}\n\nselect.mat-mdc-form-field-input-control {\n -moz-appearance: none;\n -webkit-appearance: none;\n background-color: transparent;\n display: inline-flex;\n box-sizing: border-box;\n}\nselect.mat-mdc-form-field-input-control:not(:disabled) {\n cursor: pointer;\n}\nselect.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option {\n color: var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10));\n}\nselect.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled {\n color: var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent));\n}\n\n.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after {\n content: \"\";\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid;\n position: absolute;\n right: 0;\n top: 50%;\n margin-top: -2.5px;\n pointer-events: none;\n color: var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant));\n}\n[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after {\n right: auto;\n left: 0;\n}\n.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after {\n color: var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary));\n}\n.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after {\n color: var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control {\n padding-right: 15px;\n}\n[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control {\n padding-right: 0;\n padding-left: 15px;\n}\n\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper {\n outline: solid 1px;\n }\n}\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper {\n outline-color: GrayText;\n }\n}\n\n@media (forced-colors: active) {\n .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper {\n outline: dashed 3px;\n }\n}\n\n@media (forced-colors: active) {\n .mat-mdc-form-field.mat-focused .mdc-notched-outline {\n border: dashed 3px;\n }\n}\n\n.mat-mdc-form-field-input-control[type=date], .mat-mdc-form-field-input-control[type=datetime], .mat-mdc-form-field-input-control[type=datetime-local], .mat-mdc-form-field-input-control[type=month], .mat-mdc-form-field-input-control[type=week], .mat-mdc-form-field-input-control[type=time] {\n line-height: 1;\n}\n.mat-mdc-form-field-input-control::-webkit-datetime-edit {\n line-height: 1;\n padding: 0;\n margin-bottom: -2px;\n}\n\n.mat-mdc-form-field {\n --mat-mdc-form-field-floating-label-scale: 0.75;\n display: inline-flex;\n flex-direction: column;\n min-width: 0;\n text-align: left;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));\n line-height: var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));\n font-size: var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));\n letter-spacing: var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));\n font-weight: var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight));\n}\n.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above {\n font-size: calc(var(--mat-form-field-outlined-label-text-populated-size) * var(--mat-mdc-form-field-floating-label-scale));\n}\n.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n font-size: var(--mat-form-field-outlined-label-text-populated-size);\n}\n[dir=rtl] .mat-mdc-form-field {\n text-align: right;\n}\n\n.mat-mdc-form-field-flex {\n display: inline-flex;\n align-items: baseline;\n box-sizing: border-box;\n width: 100%;\n}\n\n.mat-mdc-text-field-wrapper {\n width: 100%;\n z-index: 0;\n}\n\n.mat-mdc-form-field-icon-prefix,\n.mat-mdc-form-field-icon-suffix {\n align-self: center;\n line-height: 0;\n pointer-events: auto;\n position: relative;\n z-index: 1;\n}\n.mat-mdc-form-field-icon-prefix > .mat-icon,\n.mat-mdc-form-field-icon-suffix > .mat-icon {\n padding: 0 12px;\n box-sizing: content-box;\n}\n\n.mat-mdc-form-field-icon-prefix {\n color: var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-form-field-disabled .mat-mdc-form-field-icon-prefix {\n color: var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-form-field-disabled .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-form-field-invalid .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error));\n}\n.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container));\n}\n.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix {\n color: var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error));\n}\n\n.mat-mdc-form-field-icon-prefix,\n[dir=rtl] .mat-mdc-form-field-icon-suffix {\n padding: 0 4px 0 0;\n}\n\n.mat-mdc-form-field-icon-suffix,\n[dir=rtl] .mat-mdc-form-field-icon-prefix {\n padding: 0 0 0 4px;\n}\n\n.mat-mdc-form-field-subscript-wrapper .mat-icon,\n.mat-mdc-form-field label .mat-icon {\n width: 1em;\n height: 1em;\n font-size: inherit;\n}\n\n.mat-mdc-form-field-infix {\n flex: auto;\n min-width: 0;\n width: 180px;\n position: relative;\n box-sizing: border-box;\n}\n.mat-mdc-form-field-infix:has(textarea[cols]) {\n width: auto;\n}\n\n.mat-mdc-form-field .mdc-notched-outline__notch {\n margin-left: -1px;\n -webkit-clip-path: inset(-9em -999em -9em 1px);\n clip-path: inset(-9em -999em -9em 1px);\n}\n[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch {\n margin-left: 0;\n margin-right: -1px;\n -webkit-clip-path: inset(-9em 1px -9em -999em);\n clip-path: inset(-9em 1px -9em -999em);\n}\n\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label {\n transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input {\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder {\n transition: opacity 67ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder, .mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder {\n transition-delay: 40ms;\n transition-duration: 110ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before {\n transition-duration: 75ms;\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after {\n transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,\n.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper {\n animation-duration: 300ms;\n}\n\n.mdc-notched-outline .mdc-floating-label {\n max-width: calc(100% + 1px);\n}\n\n.mdc-notched-outline--upgraded .mdc-floating-label--float-above {\n max-width: calc(133.3333333333% + 1px);\n}\n"]
1228
1271
  }]
1229
1272
  }],