@angular/material 22.2.0-rc.0 → 22.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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';
@@ -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,6 +558,8 @@ 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
565
  version: "22.2.0-next.7",
@@ -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();
@@ -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",
@@ -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
  }],