PageSourceSearch

https://jgrants-sec-dev-t1-168f74b785ce.herokuapp.com/chunk-ES4YW253.js

js jgrants-sec-dev-t1-168f74b785ce.herokuapp.com collected 2026-10-03 08:16:39 UTC 133,146 bytes, 1,601 lines download raw bytes

1import {
2  SharedResizeObserver
3} from "./chunk-J7W7XB4C.js";
4import {
5  coerceBooleanProperty
6} from "./chunk-PO4XS2LG.js";
7import {
8  _animationsDisabled
9} from "./chunk-YVTSSW3S.js";
10import {
11  Directionality,
12  MatCommonModule,
13  ObserversModule,
14  Platform,
15  _IdGenerator
16} from "./chunk-JFDD3AXM.js";
17import {
18  ChangeDetectionStrategy,
19  ChangeDetectorRef,
20  Component,
21  ContentChild,
22  ContentChildren,
23  Directive,
24  ElementRef,
25  Injectable,
26  InjectionToken,
27  Input,
28  NgModule,
29  NgTemplateOutlet,
30  NgZone,
31  Renderer2,
32  Subject,
33  Subscription,
34  ViewChild,
35  ViewEncapsulation,
36  afterRenderEffect,
37  computed,
38  contentChild,
39  filter,
40  inject,
41  map,
42  merge,
43  pairwise,
44  setClassMetadata,
45  signal,
46  startWith,
47  takeUntil,
48  viewChild,
49  ɵɵProvidersFeature,
50  ɵɵadvance,
51  ɵɵattribute,
52  ɵɵclassProp,
53  ɵɵconditional,
54  ɵɵconditionalCreate,
55  ɵɵcontentQuery,
56  ɵɵcontentQuerySignal,
57  ɵɵdefineComponent,
58  ɵɵdefineDirective,
59  ɵɵdefineInjectable,
60  ɵɵdefineInjector,
61  ɵɵdefineNgModule,
62  ɵɵdomElement,
63  ɵɵdomElementEnd,
64  ɵɵdomElementStart,
65  ɵɵdomProperty,
66  ɵɵelement,
67  ɵɵelementEnd,
68  ɵɵelementStart,
69  ɵɵgetCurrentView,
70  ɵɵlistener,
71  ɵɵloadQuery,
72  ɵɵnextContext,
73  ɵɵprojection,
74  ɵɵprojectionDef,
75  ɵɵproperty,
76  ɵɵqueryAdvance,
77  ɵɵqueryRefresh,
78  ɵɵreference,
79  ɵɵresetView,
80  ɵɵrestoreView,
81  ɵɵtemplate,
82  ɵɵtemplateRefExtractor,
83  ɵɵtext,
84  ɵɵtextInterpolate,
85  ɵɵviewQuery,
86  ɵɵviewQuerySignal
87} from "./chunk-6KZDFU4W.js";
88
vendor: 127,687 bytes, lines 89-1492
89// node_modules/@angular/material/fesm2022/form-field-CFbrnFED.mjs
90var _c0 = ["notch"];
91var _c1 = ["matFormFieldNotchedOutline", ""];
92var _c2 = ["*"];
93var _c3 = ["iconPrefixContainer"];
94var _c4 = ["textPrefixContainer"];
95var _c5 = ["iconSuffixContainer"];
96var _c6 = ["textSuffixContainer"];
97var _c7 = ["textField"];
98var _c8 = ["*", [["mat-label"]], [["", "matPrefix", ""], ["", "matIconPrefix", ""]], [["", "matTextPrefix", ""]], [["", "matTextSuffix", ""]], [["", "matSuffix", ""], ["", "matIconSuffix", ""]], [["mat-error"], ["", "matError", ""]], [["mat-hint", 3, "align", "end"]], [["mat-hint", "align", "end"]]];
99var _c9 = ["*", "mat-label", "[matPrefix], [matIconPrefix]", "[matTextPrefix]", "[matTextSuffix]", "[matSuffix], [matIconSuffix]", "mat-error, [matError]", "mat-hint:not([align='end'])", "mat-hint[align='end']"];
100function MatFormField_ng_template_0_Conditional_0_Conditional_2_Template(rf, ctx) {
101  if (rf & 1) {
102    \u0275\u0275element(0, "span", 20);
103  }
104}
105function MatFormField_ng_template_0_Conditional_0_Template(rf, ctx) {
106  if (rf & 1) {
107    \u0275\u0275elementStart(0, "label", 19);
108    \u0275\u0275projection(1, 1);
109    \u0275\u0275conditionalCreate(2, MatFormField_ng_template_0_Conditional_0_Conditional_2_Template, 1, 0, "span", 20);
110    \u0275\u0275elementEnd();
111  }
112  if (rf & 2) {
113    const ctx_r1 = \u0275\u0275nextContext(2);
114    \u0275\u0275property("floating", ctx_r1._shouldLabelFloat())("monitorResize", ctx_r1._hasOutline())("id", ctx_r1._labelId);
115    \u0275\u0275attribute("for", ctx_r1._control.disableAutomaticLabeling ? null : ctx_r1._control.id);
116    \u0275\u0275advance(2);
117    \u0275\u0275conditional(!ctx_r1.hideRequiredMarker && ctx_r1._control.required ? 2 : -1);
118  }
119}
120function MatFormField_ng_template_0_Template(rf, ctx) {
121  if (rf & 1) {
122    \u0275\u0275conditionalCreate(0, MatFormField_ng_template_0_Conditional_0_Template, 3, 5, "label", 19);
123  }
124  if (rf & 2) {
125    const ctx_r1 = \u0275\u0275nextContext();
126    \u0275\u0275conditional(ctx_r1._hasFloatingLabel() ? 0 : -1);
127  }
128}
129function MatFormField_Conditional_4_Template(rf, ctx) {
130  if (rf & 1) {
131    \u0275\u0275element(0, "div", 7);
132  }
133}
134function MatFormField_Conditional_6_Conditional_1_ng_template_0_Template(rf, ctx) {
135}
136function MatFormField_Conditional_6_Conditional_1_Template(rf, ctx) {
137  if (rf & 1) {
138    \u0275\u0275template(0, MatFormField_Conditional_6_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 13);
139  }
140  if (rf & 2) {
141    \u0275\u0275nextContext(2);
142    const labelTemplate_r3 = \u0275\u0275reference(1);
143    \u0275\u0275property("ngTemplateOutlet", labelTemplate_r3);
144  }
145}
146function MatFormField_Conditional_6_Template(rf, ctx) {
147  if (rf & 1) {
148    \u0275\u0275elementStart(0, "div", 9);
149    \u0275\u0275conditionalCreate(1, MatFormField_Conditional_6_Conditional_1_Template, 1, 1, null, 13);
150    \u0275\u0275elementEnd();
151  }
152  if (rf & 2) {
153    const ctx_r1 = \u0275\u0275nextContext();
154    \u0275\u0275property("matFormFieldNotchedOutlineOpen", ctx_r1._shouldLabelFloat());
155    \u0275\u0275advance();
156    \u0275\u0275conditional(!ctx_r1._forceDisplayInfixLabel() ? 1 : -1);
157  }
158}
159function MatFormField_Conditional_7_Template(rf, ctx) {
160  if (rf & 1) {
161    \u0275\u0275elementStart(0, "div", 10, 2);
162    \u0275\u0275projection(2, 2);
163    \u0275\u0275elementEnd();
164  }
165}
166function MatFormField_Conditional_8_Template(rf, ctx) {
167  if (rf & 1) {
168    \u0275\u0275elementStart(0, "div", 11, 3);
169    \u0275\u0275projection(2, 3);
170    \u0275\u0275elementEnd();
171  }
172}
173function MatFormField_Conditional_10_ng_template_0_Template(rf, ctx) {
174}
175function MatFormField_Conditional_10_Template(rf, ctx) {
176  if (rf & 1) {
177    \u0275\u0275template(0, MatFormField_Conditional_10_ng_template_0_Template, 0, 0, "ng-template", 13);
178  }
179  if (rf & 2) {
180    \u0275\u0275nextContext();
181    const labelTemplate_r3 = \u0275\u0275reference(1);
182    \u0275\u0275property("ngTemplateOutlet", labelTemplate_r3);
183  }
184}
185function MatFormField_Conditional_12_Template(rf, ctx) {
186  if (rf & 1) {
187    \u0275\u0275elementStart(0, "div", 14, 4);
188    \u0275\u0275projection(2, 4);
189    \u0275\u0275elementEnd();
190  }
191}
192function MatFormField_Conditional_13_Template(rf, ctx) {
193  if (rf & 1) {
194    \u0275\u0275elementStart(0, "div", 15, 5);
195    \u0275\u0275projection(2, 5);
196    \u0275\u0275elementEnd();
197  }
198}
199function MatFormField_Conditional_14_Template(rf, ctx) {
200  if (rf & 1) {
201    \u0275\u0275element(0, "div", 16);
202  }
203}
204function MatFormField_Case_17_Template(rf, ctx) {
205  if (rf & 1) {
206    \u0275\u0275projection(0, 6);
207  }
208}
209function MatFormField_Case_18_Conditional_0_Template(rf, ctx) {
210  if (rf & 1) {
211    \u0275\u0275elementStart(0, "mat-hint", 21);
212    \u0275\u0275text(1);
213    \u0275\u0275elementEnd();
214  }
215  if (rf & 2) {
216    const ctx_r1 = \u0275\u0275nextContext(2);
217    \u0275\u0275property("id", ctx_r1._hintLabelId);
218    \u0275\u0275advance();
219    \u0275\u0275textInterpolate(ctx_r1.hintLabel);
220  }
221}
222function MatFormField_Case_18_Template(rf, ctx) {
223  if (rf & 1) {
224    \u0275\u0275conditionalCreate(0, MatFormField_Case_18_Conditional_0_Template, 2, 2, "mat-hint", 21);
225    \u0275\u0275projection(1, 7);
226    \u0275\u0275element(2, "div", 22);
227    \u0275\u0275projection(3, 8);
228  }
229  if (rf & 2) {
230    const ctx_r1 = \u0275\u0275nextContext();
231    \u0275\u0275conditional(ctx_r1.hintLabel ? 0 : -1);
232  }
233}
234var MatLabel = class _MatLabel {
235  static \u0275fac = function MatLabel_Factory(__ngFactoryType__) {
236    return new (__ngFactoryType__ || _MatLabel)();
237  };
238  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
239    type: _MatLabel,
240    selectors: [["mat-label"]]
241  });
242};
243(() => {
244  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatLabel, [{
245    type: Directive,
246    args: [{
247      selector: "mat-label"
248    }]
249  }], null, null);
250})();
251var MAT_ERROR = new InjectionToken("MatError");
252var MatError = class _MatError {
253  id = inject(_IdGenerator).getId("mat-mdc-error-");
254  constructor() {
255  }
256  static \u0275fac = function MatError_Factory(__ngFactoryType__) {
257    return new (__ngFactoryType__ || _MatError)();
258  };
259  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
260    type: _MatError,
261    selectors: [["mat-error"], ["", "matError", ""]],
262    hostAttrs: [1, "mat-mdc-form-field-error", "mat-mdc-form-field-bottom-align"],
263    hostVars: 1,
264    hostBindings: function MatError_HostBindings(rf, ctx) {
265      if (rf & 2) {
266        \u0275\u0275domProperty("id", ctx.id);
267      }
268    },
269    inputs: {
270      id: "id"
271    },
272    features: [\u0275\u0275ProvidersFeature([{
273      provide: MAT_ERROR,
274      useExisting: _MatError
275    }])]
276  });
277};
278(() => {
279  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatError, [{
280    type: Directive,
281    args: [{
282      selector: "mat-error, [matError]",
283      host: {
284        "class": "mat-mdc-form-field-error mat-mdc-form-field-bottom-align",
285        "[id]": "id"
286      },
287      providers: [{
288        provide: MAT_ERROR,
289        useExisting: MatError
290      }]
291    }]
292  }], () => [], {
293    id: [{
294      type: Input
295    }]
296  });
297})();
298var MatHint = class _MatHint {
299  /** Whether to align the hint label at the start or end of the line. */
300  align = "start";
301  /** Unique ID for the hint. Used for the aria-describedby on the form field control. */
302  id = inject(_IdGenerator).getId("mat-mdc-hint-");
303  static \u0275fac = function MatHint_Factory(__ngFactoryType__) {
304    return new (__ngFactoryType__ || _MatHint)();
305  };
306  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
307    type: _MatHint,
308    selectors: [["mat-hint"]],
309    hostAttrs: [1, "mat-mdc-form-field-hint", "mat-mdc-form-field-bottom-align"],
310    hostVars: 4,
311    hostBindings: function MatHint_HostBindings(rf, ctx) {
312      if (rf & 2) {
313        \u0275\u0275domProperty("id", ctx.id);
314        \u0275\u0275attribute("align", null);
315        \u0275\u0275classProp("mat-mdc-form-field-hint-end", ctx.align === "end");
316      }
317    },
318    inputs: {
319      align: "align",
320      id: "id"
321    }
322  });
323};
324(() => {
325  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatHint, [{
326    type: Directive,
327    args: [{
328      selector: "mat-hint",
329      host: {
330        "class": "mat-mdc-form-field-hint mat-mdc-form-field-bottom-align",
331        "[class.mat-mdc-form-field-hint-end]": 'align === "end"',
332        "[id]": "id",
333        // Remove align attribute to prevent it from interfering with layout.
334        "[attr.align]": "null"
335      }
336    }]
337  }], null, {
338    align: [{
339      type: Input
340    }],
341    id: [{
342      type: Input
343    }]
344  });
345})();
346var MAT_PREFIX = new InjectionToken("MatPrefix");
347var MatPrefix = class _MatPrefix {
348  set _isTextSelector(value) {
349    this._isText = true;
350  }
351  _isText = false;
352  static \u0275fac = function MatPrefix_Factory(__ngFactoryType__) {
353    return new (__ngFactoryType__ || _MatPrefix)();
354  };
355  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
356    type: _MatPrefix,
357    selectors: [["", "matPrefix", ""], ["", "matIconPrefix", ""], ["", "matTextPrefix", ""]],
358    inputs: {
359      _isTextSelector: [0, "matTextPrefix", "_isTextSelector"]
360    },
361    features: [\u0275\u0275ProvidersFeature([{
362      provide: MAT_PREFIX,
363      useExisting: _MatPrefix
364    }])]
365  });
366};
367(() => {
368  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatPrefix, [{
369    type: Directive,
370    args: [{
371      selector: "[matPrefix], [matIconPrefix], [matTextPrefix]",
372      providers: [{
373        provide: MAT_PREFIX,
374        useExisting: MatPrefix
375      }]
376    }]
377  }], null, {
378    _isTextSelector: [{
379      type: Input,
380      args: ["matTextPrefix"]
381    }]
382  });
383})();
384var MAT_SUFFIX = new InjectionToken("MatSuffix");
385var MatSuffix = class _MatSuffix {
386  set _isTextSelector(value) {
387    this._isText = true;
388  }
389  _isText = false;
390  static \u0275fac = function MatSuffix_Factory(__ngFactoryType__) {
391    return new (__ngFactoryType__ || _MatSuffix)();
392  };
393  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
394    type: _MatSuffix,
395    selectors: [["", "matSuffix", ""], ["", "matIconSuffix", ""], ["", "matTextSuffix", ""]],
396    inputs: {
397      _isTextSelector: [0, "matTextSuffix", "_isTextSelector"]
398    },
399    features: [\u0275\u0275ProvidersFeature([{
400      provide: MAT_SUFFIX,
401      useExisting: _MatSuffix
402    }])]
403  });
404};
405(() => {
406  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatSuffix, [{
407    type: Directive,
408    args: [{
409      selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
410      providers: [{
411        provide: MAT_SUFFIX,
412        useExisting: MatSuffix
413      }]
414    }]
415  }], null, {
416    _isTextSelector: [{
417      type: Input,
418      args: ["matTextSuffix"]
419    }]
420  });
421})();
422var FLOATING_LABEL_PARENT = new InjectionToken("FloatingLabelParent");
423var MatFormFieldFloatingLabel = class _MatFormFieldFloatingLabel {
424  _elementRef = inject(ElementRef);
425  /** Whether the label is floating. */
426  get floating() {
427    return this._floating;
428  }
429  set floating(value) {
430    this._floating = value;
431    if (this.monitorResize) {
432      this._handleResize();
433    }
434  }
435  _floating = false;
436  /** Whether to monitor for resize events on the floating label. */
437  get monitorResize() {
438    return this._monitorResize;
439  }
440  set monitorResize(value) {
441    this._monitorResize = value;
442    if (this._monitorResize) {
443      this._subscribeToResize();
444    } else {
445      this._resizeSubscription.unsubscribe();
446    }
447  }
448  _monitorResize = false;
449  /** The shared ResizeObserver. */
450  _resizeObserver = inject(SharedResizeObserver);
451  /** The Angular zone. */
452  _ngZone = inject(NgZone);
453  /** The parent form-field. */
454  _parent = inject(FLOATING_LABEL_PARENT);
455  /** The current resize event subscription. */
456  _resizeSubscription = new Subscription();
457  constructor() {
458  }
459  ngOnDestroy() {
460    this._resizeSubscription.unsubscribe();
461  }
462  /** Gets the width of the label. Used for the outline notch. */
463  getWidth() {
464    return estimateScrollWidth(this._elementRef.nativeElement);
465  }
466  /** Gets the HTML element for the floating label. */
467  get element() {
468    return this._elementRef.nativeElement;
469  }
470  /** Handles resize events from the ResizeObserver. */
471  _handleResize() {
472    setTimeout(() => this._parent._handleLabelResized());
473  }
474  /** Subscribes to resize events. */
475  _subscribeToResize() {
476    this._resizeSubscription.unsubscribe();
477    this._ngZone.runOutsideAngular(() => {
478      this._resizeSubscription = this._resizeObserver.observe(this._elementRef.nativeElement, {
479        box: "border-box"
480      }).subscribe(() => this._handleResize());
481    });
482  }
483  static \u0275fac = function MatFormFieldFloatingLabel_Factory(__ngFactoryType__) {
484    return new (__ngFactoryType__ || _MatFormFieldFloatingLabel)();
485  };
486  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
487    type: _MatFormFieldFloatingLabel,
488    selectors: [["label", "matFormFieldFloatingLabel", ""]],
489    hostAttrs: [1, "mdc-floating-label", "mat-mdc-floating-label"],
490    hostVars: 2,
491    hostBindings: function MatFormFieldFloatingLabel_HostBindings(rf, ctx) {
492      if (rf & 2) {
493        \u0275\u0275classProp("mdc-floating-label--float-above", ctx.floating);
494      }
495    },
496    inputs: {
497      floating: "floating",
498      monitorResize: "monitorResize"
499    }
500  });
501};
502(() => {
503  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormFieldFloatingLabel, [{
504    type: Directive,
505    args: [{
506      selector: "label[matFormFieldFloatingLabel]",
507      host: {
508        "class": "mdc-floating-label mat-mdc-floating-label",
509        "[class.mdc-floating-label--float-above]": "floating"
510      }
511    }]
512  }], () => [], {
513    floating: [{
514      type: Input
515    }],
516    monitorResize: [{
517      type: Input
518    }]
519  });
520})();
521function estimateScrollWidth(element) {
522  const htmlEl = element;
523  if (htmlEl.offsetParent !== null) {
524    return htmlEl.scrollWidth;
525  }
526  const clone = htmlEl.cloneNode(true);
527  clone.style.setProperty("position", "absolute");
528  clone.style.setProperty("transform", "translate(-9999px, -9999px)");
529  document.documentElement.appendChild(clone);
530  const scrollWidth = clone.scrollWidth;
531  clone.remove();
532  return scrollWidth;
533}
534var ACTIVATE_CLASS = "mdc-line-ripple--active";
535var DEACTIVATING_CLASS = "mdc-line-ripple--deactivating";
536var MatFormFieldLineRipple = class _MatFormFieldLineRipple {
537  _elementRef = inject(ElementRef);
538  _cleanupTransitionEnd;
539  constructor() {
540    const ngZone = inject(NgZone);
541    const renderer = inject(Renderer2);
542    ngZone.runOutsideAngular(() => {
543      this._cleanupTransitionEnd = renderer.listen(this._elementRef.nativeElement, "transitionend", this._handleTransitionEnd);
544    });
545  }
546  activate() {
547    const classList = this._elementRef.nativeElement.classList;
548    classList.remove(DEACTIVATING_CLASS);
549    classList.add(ACTIVATE_CLASS);
550  }
551  deactivate() {
552    this._elementRef.nativeElement.classList.add(DEACTIVATING_CLASS);
553  }
554  _handleTransitionEnd = (event) => {
555    const classList = this._elementRef.nativeElement.classList;
556    const isDeactivating = classList.contains(DEACTIVATING_CLASS);
557    if (event.propertyName === "opacity" && isDeactivating) {
558      classList.remove(ACTIVATE_CLASS, DEACTIVATING_CLASS);
559    }
560  };
561  ngOnDestroy() {
562    this._cleanupTransitionEnd();
563  }
564  static \u0275fac = function MatFormFieldLineRipple_Factory(__ngFactoryType__) {
565    return new (__ngFactoryType__ || _MatFormFieldLineRipple)();
566  };
567  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
568    type: _MatFormFieldLineRipple,
569    selectors: [["div", "matFormFieldLineRipple", ""]],
570    hostAttrs: [1, "mdc-line-ripple"]
571  });
572};
573(() => {
574  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormFieldLineRipple, [{
575    type: Directive,
576    args: [{
577      selector: "div[matFormFieldLineRipple]",
578      host: {
579        "class": "mdc-line-ripple"
580      }
581    }]
582  }], () => [], null);
583})();
584var MatFormFieldNotchedOutline = class _MatFormFieldNotchedOutline {
585  _elementRef = inject(ElementRef);
586  _ngZone = inject(NgZone);
587  /** Whether the notch should be opened. */
588  open = false;
589  _notch;
590  ngAfterViewInit() {
591    const element = this._elementRef.nativeElement;
592    const label = element.querySelector(".mdc-floating-label");
593    if (label) {
594      element.classList.add("mdc-notched-outline--upgraded");
595      if (typeof requestAnimationFrame === "function") {
596        label.style.transitionDuration = "0s";
597        this._ngZone.runOutsideAngular(() => {
598          requestAnimationFrame(() => label.style.transitionDuration = "");
599        });
600      }
601    } else {
602      element.classList.add("mdc-notched-outline--no-label");
603    }
604  }
605  _setNotchWidth(labelWidth) {
606    const notch = this._notch.nativeElement;
607    if (!this.open || !labelWidth) {
608      notch.style.width = "";
609    } else {
610      const NOTCH_ELEMENT_PADDING = 8;
611      const NOTCH_ELEMENT_BORDER = 1;
612      notch.style.width = `calc(${labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + ${NOTCH_ELEMENT_PADDING + NOTCH_ELEMENT_BORDER}px)`;
613    }
614  }
615  _setMaxWidth(prefixAndSuffixWidth) {
616    this._notch.nativeElement.style.setProperty("--mat-form-field-notch-max-width", `calc(100% - ${prefixAndSuffixWidth}px)`);
617  }
618  static \u0275fac = function MatFormFieldNotchedOutline_Factory(__ngFactoryType__) {
619    return new (__ngFactoryType__ || _MatFormFieldNotchedOutline)();
620  };
621  static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({
622    type: _MatFormFieldNotchedOutline,
623    selectors: [["div", "matFormFieldNotchedOutline", ""]],
624    viewQuery: function MatFormFieldNotchedOutline_Query(rf, ctx) {
625      if (rf & 1) {
626        \u0275\u0275viewQuery(_c0, 5);
627      }
628      if (rf & 2) {
629        let _t;
630        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._notch = _t.first);
631      }
632    },
633    hostAttrs: [1, "mdc-notched-outline"],
634    hostVars: 2,
635    hostBindings: function MatFormFieldNotchedOutline_HostBindings(rf, ctx) {
636      if (rf & 2) {
637        \u0275\u0275classProp("mdc-notched-outline--notched", ctx.open);
638      }
639    },
640    inputs: {
641      open: [0, "matFormFieldNotchedOutlineOpen", "open"]
642    },
643    attrs: _c1,
644    ngContentSelectors: _c2,
645    decls: 5,
646    vars: 0,
647    consts: [["notch", ""], [1, "mat-mdc-notch-piece", "mdc-notched-outline__leading"], [1, "mat-mdc-notch-piece", "mdc-notched-outline__notch"], [1, "mat-mdc-notch-piece", "mdc-notched-outline__trailing"]],
648    template: function MatFormFieldNotchedOutline_Template(rf, ctx) {
649      if (rf & 1) {
650        \u0275\u0275projectionDef();
651        \u0275\u0275domElement(0, "div", 1);
652        \u0275\u0275domElementStart(1, "div", 2, 0);
653        \u0275\u0275projection(3);
654        \u0275\u0275domElementEnd();
655        \u0275\u0275domElement(4, "div", 3);
656      }
657    },
658    encapsulation: 2,
659    changeDetection: 0
660  });
661};
662(() => {
663  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormFieldNotchedOutline, [{
664    type: Component,
665    args: [{
666      selector: "div[matFormFieldNotchedOutline]",
667      host: {
668        "class": "mdc-notched-outline",
669        // Besides updating the notch state through the MDC component, we toggle this class through
670        // a host binding in order to ensure that the notched-outline renders correctly on the server.
671        "[class.mdc-notched-outline--notched]": "open"
672      },
673      changeDetection: ChangeDetectionStrategy.OnPush,
674      encapsulation: ViewEncapsulation.None,
675      template: '<div class="mat-mdc-notch-piece mdc-notched-outline__leading"></div>\n<div class="mat-mdc-notch-piece mdc-notched-outline__notch" #notch>\n  <ng-content></ng-content>\n</div>\n<div class="mat-mdc-notch-piece mdc-notched-outline__trailing"></div>\n'
676    }]
677  }], null, {
678    open: [{
679      type: Input,
680      args: ["matFormFieldNotchedOutlineOpen"]
681    }],
682    _notch: [{
683      type: ViewChild,
684      args: ["notch"]
685    }]
686  });
687})();
688var MatFormFieldControl = class _MatFormFieldControl {
689  /** The value of the control. */
690  value;
691  /**
692   * Stream that emits whenever the state of the control changes such that the parent `MatFormField`
693   * needs to run change detection.
694   */
695  stateChanges;
696  /** The element ID for this control. */
697  id;
698  /** The placeholder for this control. */
699  placeholder;
700  /** Gets the AbstractControlDirective for this control. */
701  ngControl;
702  /** Whether the control is focused. */
703  focused;
704  /** Whether the control is empty. */
705  empty;
706  /** Whether the `MatFormField` label should try to float. */
707  shouldLabelFloat;
708  /** Whether the control is required. */
709  required;
710  /** Whether the control is disabled. */
711  disabled;
712  /** Whether the control is in an error state. */
713  errorState;
714  /**
715   * An optional name for the control type that can be used to distinguish `mat-form-field` elements
716   * based on their control type. The form field will add a class,
717   * `mat-form-field-type-{{controlType}}` to its root element.
718   */
719  controlType;
720  /**
721   * Whether the input is currently in an autofilled state. If property is not present on the
722   * control it is assumed to be false.
723   */
724  autofilled;
725  /**
726   * Value of `aria-describedby` that should be merged with the described-by ids
727   * which are set by the form-field.
728   */
729  userAriaDescribedBy;
730  /**
731   * Whether to automatically assign the ID of the form field as the `for` attribute
732   * on the `<label>` inside the form field. Set this to true to prevent the form
733   * field from associating the label with non-native elements.
734   */
735  disableAutomaticLabeling;
736  /** Gets the list of element IDs that currently describe this control. */
737  describedByIds;
738  static \u0275fac = function MatFormFieldControl_Factory(__ngFactoryType__) {
739    return new (__ngFactoryType__ || _MatFormFieldControl)();
740  };
741  static \u0275dir = /* @__PURE__ */ \u0275\u0275defineDirective({
742    type: _MatFormFieldControl
743  });
744};
745(() => {
746  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormFieldControl, [{
747    type: Directive
748  }], null, null);
749})();
750function getMatFormFieldDuplicatedHintError(align) {
751  return Error(`A hint was already declared for 'align="${align}"'.`);
752}
753function getMatFormFieldMissingControlError() {
754  return Error("mat-form-field must contain a MatFormFieldControl.");
755}
756var MAT_FORM_FIELD = new InjectionToken("MatFormField");
757var MAT_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken("MAT_FORM_FIELD_DEFAULT_OPTIONS");
758var DEFAULT_APPEARANCE = "fill";
759var DEFAULT_FLOAT_LABEL = "auto";
760var DEFAULT_SUBSCRIPT_SIZING = "fixed";
761var FLOATING_LABEL_DEFAULT_DOCKED_TRANSFORM = `translateY(-50%)`;
762var MatFormField = class _MatFormField {
763  _elementRef = inject(ElementRef);
764  _changeDetectorRef = inject(ChangeDetectorRef);
765  _dir = inject(Directionality);
766  _platform = inject(Platform);
767  _idGenerator = inject(_IdGenerator);
768  _ngZone = inject(NgZone);
769  _defaults = inject(MAT_FORM_FIELD_DEFAULT_OPTIONS, {
770    optional: true
771  });
772  _textField;
773  _iconPrefixContainer;
774  _textPrefixContainer;
775  _iconSuffixContainer;
776  _textSuffixContainer;
777  _floatingLabel;
778  _notchedOutline;
779  _lineRipple;
780  _iconPrefixContainerSignal = viewChild("iconPrefixContainer");
781  _textPrefixContainerSignal = viewChild("textPrefixContainer");
782  _iconSuffixContainerSignal = viewChild("iconSuffixContainer");
783  _textSuffixContainerSignal = viewChild("textSuffixContainer");
784  _prefixSuffixContainers = computed(() => {
785    return [this._iconPrefixContainerSignal(), this._textPrefixContainerSignal(), this._iconSuffixContainerSignal(), this._textSuffixContainerSignal()].map((container) => container?.nativeElement).filter((e) => e !== void 0);
786  });
787  _formFieldControl;
788  _prefixChildren;
789  _suffixChildren;
790  _errorChildren;
791  _hintChildren;
792  _labelChild = contentChild(MatLabel);
793  /** Whether the required marker should be hidden. */
794  get hideRequiredMarker() {
795    return this._hideRequiredMarker;
796  }
797  set hideRequiredMarker(value) {
798    this._hideRequiredMarker = coerceBooleanProperty(value);
799  }
800  _hideRequiredMarker = false;
801  /**
802   * Theme color of the form field. This API is supported in M2 themes only, it
803   * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/form-field/styling.
804   *
805   * For information on applying color variants in M3, see
806   * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
807   */
808  color = "primary";
809  /** Whether the label should always float or float as the user types. */
810  get floatLabel() {
811    return this._floatLabel || this._defaults?.floatLabel || DEFAULT_FLOAT_LABEL;
812  }
813  set floatLabel(value) {
814    if (value !== this._floatLabel) {
815      this._floatLabel = value;
816      this._changeDetectorRef.markForCheck();
817    }
818  }
819  _floatLabel;
820  /** The form field appearance style. */
821  get appearance() {
822    return this._appearanceSignal();
823  }
824  set appearance(value) {
825    const newAppearance = value || this._defaults?.appearance || DEFAULT_APPEARANCE;
826    if (typeof ngDevMode === "undefined" || ngDevMode) {
827      if (newAppearance !== "fill" && newAppearance !== "outline") {
828        throw new Error(`MatFormField: Invalid appearance "${newAppearance}", valid values are "fill" or "outline".`);
829      }
830    }
831    this._appearanceSignal.set(newAppearance);
832  }
833  _appearanceSignal = signal(DEFAULT_APPEARANCE);
834  /**
835   * Whether the form field should reserve space for one line of hint/error text (default)
836   * or to have the spacing grow from 0px as needed based on the size of the hint/error content.
837   * Note that when using dynamic sizing, layout shifts will occur when hint/error text changes.
838   */
839  get subscriptSizing() {
840    return this._subscriptSizing || this._defaults?.subscriptSizing || DEFAULT_SUBSCRIPT_SIZING;
841  }
842  set subscriptSizing(value) {
843    this._subscriptSizing = value || this._defaults?.subscriptSizing || DEFAULT_SUBSCRIPT_SIZING;
844  }
845  _subscriptSizing = null;
846  /** Text for the form field hint. */
847  get hintLabel() {
848    return this._hintLabel;
849  }
850  set hintLabel(value) {
851    this._hintLabel = value;
852    this._processHints();
853  }
854  _hintLabel = "";
855  _hasIconPrefix = false;
856  _hasTextPrefix = false;
857  _hasIconSuffix = false;
858  _hasTextSuffix = false;
859  // Unique id for the internal form field label.
860  _labelId = this._idGenerator.getId("mat-mdc-form-field-label-");
861  // Unique id for the hint label.
862  _hintLabelId = this._idGenerator.getId("mat-mdc-hint-");
863  // Ids obtained from the error and hint fields
864  _describedByIds;
865  /** Gets the current form field control */
866  get _control() {
867    return this._explicitFormFieldControl || this._formFieldControl;
868  }
869  set _control(value) {
870    this._explicitFormFieldControl = value;
871  }
872  _destroyed = new Subject();
873  _isFocused = null;
874  _explicitFormFieldControl;
875  _previousControl = null;
876  _previousControlValidatorFn = null;
877  _stateChanges;
878  _valueChanges;
879  _describedByChanges;
880  _animationsDisabled = _animationsDisabled();
881  constructor() {
882    const defaults = this._defaults;
883    if (defaults) {
884      if (defaults.appearance) {
885        this.appearance = defaults.appearance;
886      }
887      this._hideRequiredMarker = Boolean(defaults?.hideRequiredMarker);
888      if (defaults.color) {
889        this.color = defaults.color;
890      }
891    }
892    this._syncOutlineLabelOffset();
893  }
894  ngAfterViewInit() {
895    this._updateFocusState();
896    if (!this._animationsDisabled) {
897      this._ngZone.runOutsideAngular(() => {
898        setTimeout(() => {
899          this._elementRef.nativeElement.classList.add("mat-form-field-animations-enabled");
900        }, 300);
901      });
902    }
903    this._changeDetectorRef.detectChanges();
904  }
905  ngAfterContentInit() {
906    this._assertFormFieldControl();
907    this._initializeSubscript();
908    this._initializePrefixAndSuffix();
909  }
910  ngAfterContentChecked() {
911    this._assertFormFieldControl();
912    if (this._control !== this._previousControl) {
913      this._initializeControl(this._previousControl);
914      if (this._control.ngControl && this._control.ngControl.control) {
915        this._previousControlValidatorFn = this._control.ngControl.control.validator;
916      }
917      this._previousControl = this._control;
918    }
919    if (this._control.ngControl && this._control.ngControl.control) {
920      const validatorFn = this._control.ngControl.control.validator;
921      if (validatorFn !== this._previousControlValidatorFn) {
922        this._changeDetectorRef.markForCheck();
923      }
924    }
925  }
926  ngOnDestroy() {
927    this._outlineLabelOffsetResizeObserver?.disconnect();
928    this._stateChanges?.unsubscribe();
929    this._valueChanges?.unsubscribe();
930    this._describedByChanges?.unsubscribe();
931    this._destroyed.next();
932    this._destroyed.complete();
933  }
934  /**
935   * Gets the id of the label element. If no label is present, returns `null`.
936   */
937  getLabelId = computed(() => this._hasFloatingLabel() ? this._labelId : null);
938  /**
939   * Gets an ElementRef for the element that a overlay attached to the form field
940   * should be positioned relative to.
941   */
942  getConnectedOverlayOrigin() {
943    return this._textField || this._elementRef;
944  }
945  /** Animates the placeholder up and locks it in position. */
946  _animateAndLockLabel() {
947    if (this._hasFloatingLabel()) {
948      this.floatLabel = "always";
949    }
950  }
951  /** Initializes the registered form field control. */
952  _initializeControl(previousControl) {
953    const control = this._control;
954    const classPrefix = "mat-mdc-form-field-type-";
955    if (previousControl) {
956      this._elementRef.nativeElement.classList.remove(classPrefix + previousControl.controlType);
957    }
958    if (control.controlType) {
959      this._elementRef.nativeElement.classList.add(classPrefix + control.controlType);
960    }
961    this._stateChanges?.unsubscribe();
962    this._stateChanges = control.stateChanges.subscribe(() => {
963      this._updateFocusState();
964      this._changeDetectorRef.markForCheck();
965    });
966    this._describedByChanges?.unsubscribe();
967    this._describedByChanges = control.stateChanges.pipe(startWith([void 0, void 0]), map(() => [control.errorState, control.userAriaDescribedBy]), pairwise(), filter(([[prevErrorState, prevDescribedBy], [currentErrorState, currentDescribedBy]]) => {
968      return prevErrorState !== currentErrorState || prevDescribedBy !== currentDescribedBy;
969    })).subscribe(() => this._syncDescribedByIds());
970    this._valueChanges?.unsubscribe();
971    if (control.ngControl && control.ngControl.valueChanges) {
972      this._valueChanges = control.ngControl.valueChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._changeDetectorRef.markForCheck());
973    }
974  }
975  _checkPrefixAndSuffixTypes() {
976    this._hasIconPrefix = !!this._prefixChildren.find((p) => !p._isText);
977    this._hasTextPrefix = !!this._prefixChildren.find((p) => p._isText);
978    this._hasIconSuffix = !!this._suffixChildren.find((s) => !s._isText);
979    this._hasTextSuffix = !!this._suffixChildren.find((s) => s._isText);
980  }
981  /** Initializes the prefix and suffix containers. */
982  _initializePrefixAndSuffix() {
983    this._checkPrefixAndSuffixTypes();
984    merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {
985      this._checkPrefixAndSuffixTypes();
986      this._changeDetectorRef.markForCheck();
987    });
988  }
989  /**
990   * Initializes the subscript by validating hints and synchronizing "aria-describedby" ids
991   * with the custom form field control. Also subscribes to hint and error changes in order
992   * to be able to validate and synchronize ids on change.
993   */
994  _initializeSubscript() {
995    this._hintChildren.changes.subscribe(() => {
996      this._processHints();
997      this._changeDetectorRef.markForCheck();
998    });
999    this._errorChildren.changes.subscribe(() => {
1000      this._syncDescribedByIds();
1001      this._changeDetectorRef.markForCheck();
1002    });
1003    this._validateHints();
1004    this._syncDescribedByIds();
1005  }
1006  /** Throws an error if the form field's control is missing. */
1007  _assertFormFieldControl() {
1008    if (!this._control && (typeof ngDevMode === "undefined" || ngDevMode)) {
1009      throw getMatFormFieldMissingControlError();
1010    }
1011  }
1012  _updateFocusState() {
1013    if (this._control.focused && !this._isFocused) {
1014      this._isFocused = true;
1015      this._lineRipple?.activate();
1016    } else if (!this._control.focused && (this._isFocused || this._isFocused === null)) {
1017      this._isFocused = false;
1018      this._lineRipple?.deactivate();
1019    }
1020    this._textField?.nativeElement.classList.toggle("mdc-text-field--focused", this._control.focused);
1021  }
1022  _outlineLabelOffsetResizeObserver = null;
1023  /**
1024   * The floating label in the docked state needs to account for prefixes. The horizontal offset
1025   * is calculated whenever the appearance changes to `outline`, the prefixes change, or when the
1026   * form field is added to the DOM. This method sets up all subscriptions which are needed to
1027   * trigger the label offset update.
1028   */
1029  _syncOutlineLabelOffset() {
1030    afterRenderEffect({
1031      earlyRead: () => {
1032        if (this._appearanceSignal() !== "outline") {
1033          this._outlineLabelOffsetResizeObserver?.disconnect();
1034          return null;
1035        }
1036        if (globalThis.ResizeObserver) {
1037          this._outlineLabelOffsetResizeObserver ||= new globalThis.ResizeObserver(() => {
1038            this._writeOutlinedLabelStyles(this._getOutlinedLabelOffset());
1039          });
1040          for (const el of this._prefixSuffixContainers()) {
1041            this._outlineLabelOffsetResizeObserver.observe(el, {
1042              box: "border-box"
1043            });
1044          }
1045        }
1046        return this._getOutlinedLabelOffset();
1047      },
1048      write: (labelStyles) => this._writeOutlinedLabelStyles(labelStyles())
1049    });
1050  }
1051  /** Whether the floating label should always float or not. */
1052  _shouldAlwaysFloat() {
1053    return this.floatLabel === "always";
1054  }
1055  _hasOutline() {
1056    return this.appearance === "outline";
1057  }
1058  /**
1059   * Whether the label should display in the infix. Labels in the outline appearance are
1060   * displayed as part of the notched-outline and are horizontally offset to account for
1061   * form field prefix content. This won't work in server side rendering since we cannot
1062   * measure the width of the prefix container. To make the docked label appear as if the
1063   * right offset has been calculated, we forcibly render the label inside the infix. Since
1064   * the label is part of the infix, the label cannot overflow the prefix content.
1065   */
1066  _forceDisplayInfixLabel() {
1067    return !this._platform.isBrowser && this._prefixChildren.length && !this._shouldLabelFloat();
1068  }
1069  _hasFloatingLabel = computed(() => !!this._labelChild());
1070  _shouldLabelFloat() {
1071    if (!this._hasFloatingLabel()) {
1072      return false;
1073    }
1074    return this._control.shouldLabelFloat || this._shouldAlwaysFloat();
1075  }
1076  /**
1077   * Determines whether a class from the AbstractControlDirective
1078   * should be forwarded to the host element.
1079   */
1080  _shouldForward(prop) {
1081    const control = this._control ? this._control.ngControl : null;
1082    return control && control[prop];
1083  }
1084  /** Gets the type of subscript message to render (error or hint). */
1085  _getSubscriptMessageType() {
1086    return this._errorChildren && this._errorChildren.length > 0 && this._control.errorState ? "error" : "hint";
1087  }
1088  /** Handle label resize events. */
1089  _handleLabelResized() {
1090    this._refreshOutlineNotchWidth();
1091  }
1092  /** Refreshes the width of the outline-notch, if present. */
1093  _refreshOutlineNotchWidth() {
1094    if (!this._hasOutline() || !this._floatingLabel || !this._shouldLabelFloat()) {
1095      this._notchedOutline?._setNotchWidth(0);
1096    } else {
1097      this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth());
1098    }
1099  }
1100  /** Does any extra processing that is required when handling the hints. */
1101  _processHints() {
1102    this._validateHints();
1103    this._syncDescribedByIds();
1104  }
1105  /**
1106   * Ensure that there is a maximum of one of each "mat-hint" alignment specified. The hint
1107   * label specified set through the input is being considered as "start" aligned.
1108   *
1109   * This method is a noop if Angular runs in production mode.
1110   */
1111  _validateHints() {
1112    if (this._hintChildren && (typeof ngDevMode === "undefined" || ngDevMode)) {
1113      let startHint;
1114      let endHint;
1115      this._hintChildren.forEach((hint) => {
1116        if (hint.align === "start") {
1117          if (startHint || this.hintLabel) {
1118            throw getMatFormFieldDuplicatedHintError("start");
1119          }
1120          startHint = hint;
1121        } else if (hint.align === "end") {
1122          if (endHint) {
1123            throw getMatFormFieldDuplicatedHintError("end");
1124          }
1125          endHint = hint;
1126        }
1127      });
1128    }
1129  }
1130  /**
1131   * Sets the list of element IDs that describe the child control. This allows the control to update
1132   * its `aria-describedby` attribute accordingly.
1133   */
1134  _syncDescribedByIds() {
1135    if (this._control) {
1136      let ids = [];
1137      if (this._control.userAriaDescribedBy && typeof this._control.userAriaDescribedBy === "string") {
1138        ids.push(...this._control.userAriaDescribedBy.split(" "));
1139      }
1140      if (this._getSubscriptMessageType() === "hint") {
1141        const startHint = this._hintChildren ? this._hintChildren.find((hint) => hint.align === "start") : null;
1142        const endHint = this._hintChildren ? this._hintChildren.find((hint) => hint.align === "end") : null;
1143        if (startHint) {
1144          ids.push(startHint.id);
1145        } else if (this._hintLabel) {
1146          ids.push(this._hintLabelId);
1147        }
1148        if (endHint) {
1149          ids.push(endHint.id);
1150        }
1151      } else if (this._errorChildren) {
1152        ids.push(...this._errorChildren.map((error) => error.id));
1153      }
1154      const existingDescribedBy = this._control.describedByIds;
1155      let toAssign;
1156      if (existingDescribedBy) {
1157        const exclude = this._describedByIds || ids;
1158        toAssign = ids.concat(existingDescribedBy.filter((id) => id && !exclude.includes(id)));
1159      } else {
1160        toAssign = ids;
1161      }
1162      this._control.setDescribedByIds(toAssign);
1163      this._describedByIds = ids;
1164    }
1165  }
1166  /**
1167   * Calculates the horizontal offset of the label in the outline appearance. In the outline
1168   * appearance, the notched-outline and label are not relative to the infix container because
1169   * the outline intends to surround prefixes, suffixes and the infix. This means that the
1170   * floating label by default overlaps prefixes in the docked state. To avoid this, we need to
1171   * horizontally offset the label by the width of the prefix container. The MDC text-field does
1172   * not need to do this because they use a fixed width for prefixes. Hence, they can simply
1173   * incorporate the horizontal offset into their default text-field styles.
1174   */
1175  _getOutlinedLabelOffset() {
1176    const dir = this._dir.valueSignal();
1177    if (!this._hasOutline() || !this._floatingLabel) {
1178      return null;
1179    }
1180    if (!this._iconPrefixContainer && !this._textPrefixContainer) {
1181      return ["", null];
1182    }
1183    if (!this._isAttachedToDom()) {
1184      return null;
1185    }
1186    const iconPrefixContainer = this._iconPrefixContainer?.nativeElement;
1187    const textPrefixContainer = this._textPrefixContainer?.nativeElement;
1188    const iconSuffixContainer = this._iconSuffixContainer?.nativeElement;
1189    const textSuffixContainer = this._textSuffixContainer?.nativeElement;
1190    const iconPrefixContainerWidth = iconPrefixContainer?.getBoundingClientRect().width ?? 0;
1191    const textPrefixContainerWidth = textPrefixContainer?.getBoundingClientRect().width ?? 0;
1192    const iconSuffixContainerWidth = iconSuffixContainer?.getBoundingClientRect().width ?? 0;
1193    const textSuffixContainerWidth = textSuffixContainer?.getBoundingClientRect().width ?? 0;
1194    const negate = dir === "rtl" ? "-1" : "1";
1195    const prefixWidth = `${iconPrefixContainerWidth + textPrefixContainerWidth}px`;
1196    const labelOffset = `var(--mat-mdc-form-field-label-offset-x, 0px)`;
1197    const labelHorizontalOffset = `calc(${negate} * (${prefixWidth} + ${labelOffset}))`;
1198    const floatingLabelTransform = `var(--mat-mdc-form-field-label-transform, ${FLOATING_LABEL_DEFAULT_DOCKED_TRANSFORM} translateX(${labelHorizontalOffset}))`;
1199    const notchedOutlineWidth = iconPrefixContainerWidth + textPrefixContainerWidth + iconSuffixContainerWidth + textSuffixContainerWidth;
1200    return [floatingLabelTransform, notchedOutlineWidth];
1201  }
1202  /** Writes the styles produced by `_getOutlineLabelOffset` synchronously to the DOM. */
1203  _writeOutlinedLabelStyles(styles) {
1204    if (styles !== null) {
1205      const [floatingLabelTransform, notchedOutlineWidth] = styles;
1206      if (this._floatingLabel) {
1207        this._floatingLabel.element.style.transform = floatingLabelTransform;
1208      }
1209      if (notchedOutlineWidth !== null) {
1210        this._notchedOutline?._setMaxWidth(notchedOutlineWidth);
1211      }
1212    }
1213  }
1214  /** Checks whether the form field is attached to the DOM. */
1215  _isAttachedToDom() {
1216    const element = this._elementRef.nativeElement;
1217    if (element.getRootNode) {
1218      const rootNode = element.getRootNode();
1219      return rootNode && rootNode !== element;
1220    }
1221    return document.documentElement.contains(element);
1222  }
1223  static \u0275fac = function MatFormField_Factory(__ngFactoryType__) {
1224    return new (__ngFactoryType__ || _MatFormField)();
1225  };
1226  static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({
1227    type: _MatFormField,
1228    selectors: [["mat-form-field"]],
1229    contentQueries: function MatFormField_ContentQueries(rf, ctx, dirIndex) {
1230      if (rf & 1) {
1231        \u0275\u0275contentQuerySignal(dirIndex, ctx._labelChild, MatLabel, 5);
1232        \u0275\u0275contentQuery(dirIndex, MatFormFieldControl, 5);
1233        \u0275\u0275contentQuery(dirIndex, MAT_PREFIX, 5);
1234        \u0275\u0275contentQuery(dirIndex, MAT_SUFFIX, 5);
1235        \u0275\u0275contentQuery(dirIndex, MAT_ERROR, 5);
1236        \u0275\u0275contentQuery(dirIndex, MatHint, 5);
1237      }
1238      if (rf & 2) {
1239        \u0275\u0275queryAdvance();
1240        let _t;
1241        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._formFieldControl = _t.first);
1242        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._prefixChildren = _t);
1243        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._suffixChildren = _t);
1244        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._errorChildren = _t);
1245        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._hintChildren = _t);
1246      }
1247    },
1248    viewQuery: function MatFormField_Query(rf, ctx) {
1249      if (rf & 1) {
1250        \u0275\u0275viewQuerySignal(ctx._iconPrefixContainerSignal, _c3, 5);
1251        \u0275\u0275viewQuerySignal(ctx._textPrefixContainerSignal, _c4, 5);
1252        \u0275\u0275viewQuerySignal(ctx._iconSuffixContainerSignal, _c5, 5);
1253        \u0275\u0275viewQuerySignal(ctx._textSuffixContainerSignal, _c6, 5);
1254        \u0275\u0275viewQuery(_c7, 5);
1255        \u0275\u0275viewQuery(_c3, 5);
1256        \u0275\u0275viewQuery(_c4, 5);
1257        \u0275\u0275viewQuery(_c5, 5);
1258        \u0275\u0275viewQuery(_c6, 5);
1259        \u0275\u0275viewQuery(MatFormFieldFloatingLabel, 5);
1260        \u0275\u0275viewQuery(MatFormFieldNotchedOutline, 5);
1261        \u0275\u0275viewQuery(MatFormFieldLineRipple, 5);
1262      }
1263      if (rf & 2) {
1264        \u0275\u0275queryAdvance(4);
1265        let _t;
1266        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._textField = _t.first);
1267        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._iconPrefixContainer = _t.first);
1268        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._textPrefixContainer = _t.first);
1269        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._iconSuffixContainer = _t.first);
1270        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._textSuffixContainer = _t.first);
1271        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._floatingLabel = _t.first);
1272        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._notchedOutline = _t.first);
1273        \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx._lineRipple = _t.first);
1274      }
1275    },
1276    hostAttrs: [1, "mat-mdc-form-field"],
1277    hostVars: 40,
1278    hostBindings: function MatFormField_HostBindings(rf, ctx) {
1279      if (rf & 2) {
1280        \u0275\u0275classProp("mat-mdc-form-field-label-always-float", ctx._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix", ctx._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix", ctx._hasIconSuffix)("mat-form-field-invalid", ctx._control.errorState)("mat-form-field-disabled", ctx._control.disabled)("mat-form-field-autofilled", ctx._control.autofilled)("mat-form-field-appearance-fill", ctx.appearance == "fill")("mat-form-field-appearance-outline", ctx.appearance == "outline")("mat-form-field-hide-placeholder", ctx._hasFloatingLabel() && !ctx._shouldLabelFloat())("mat-focused", ctx._control.focused)("mat-primary", ctx.color !== "accent" && ctx.color !== "warn")("mat-accent", ctx.color === "accent")("mat-warn", ctx.color === "warn")("ng-untouched", ctx._shouldForward("untouched"))("ng-touched", ctx._shouldForward("touched"))("ng-pristine", ctx._shouldForward("pristine"))("ng-dirty", ctx._shouldForward("dirty"))("ng-valid", ctx._shouldForward("valid"))("ng-invalid", ctx._shouldForward("invalid"))("ng-pending", ctx._shouldForward("pending"));
1281      }
1282    },
1283    inputs: {
1284      hideRequiredMarker: "hideRequiredMarker",
1285      color: "color",
1286      floatLabel: "floatLabel",
1287      appearance: "appearance",
1288      subscriptSizing: "subscriptSizing",
1289      hintLabel: "hintLabel"
1290    },
1291    exportAs: ["matFormField"],
1292    features: [\u0275\u0275ProvidersFeature([{
1293      provide: MAT_FORM_FIELD,
1294      useExisting: _MatFormField
1295    }, {
1296      provide: FLOATING_LABEL_PARENT,
1297      useExisting: _MatFormField
1298    }])],
1299    ngContentSelectors: _c9,
1300    decls: 19,
1301    vars: 25,
1302    consts: [["labelTemplate", ""], ["textField", ""], ["iconPrefixContainer", ""], ["textPrefixContainer", ""], ["textSuffixContainer", ""], ["iconSuffixContainer", ""], [1, "mat-mdc-text-field-wrapper", "mdc-text-field", 3, "click"], [1, "mat-mdc-form-field-focus-overlay"], [1, "mat-mdc-form-field-flex"], ["matFormFieldNotchedOutline", "", 3, "matFormFieldNotchedOutlineOpen"], [1, "mat-mdc-form-field-icon-prefix"], [1, "mat-mdc-form-field-text-prefix"], [1, "mat-mdc-form-field-infix"], [3, "ngTemplateOutlet"], [1, "mat-mdc-form-field-text-suffix"], [1, "mat-mdc-form-field-icon-suffix"], ["matFormFieldLineRipple", ""], [1, "mat-mdc-form-field-subscript-wrapper", "mat-mdc-form-field-bottom-align"], ["aria-atomic", "true", "aria-live", "polite"], ["matFormFieldFloatingLabel", "", 3, "floating", "monitorResize", "id"], ["aria-hidden", "true", 1, "mat-mdc-form-field-required-marker", "mdc-floating-label--required"], [3, "id"], [1, "mat-mdc-form-field-hint-spacer"]],
1303    template: function MatFormField_Template(rf, ctx) {
1304      if (rf & 1) {
1305        const _r1 = \u0275\u0275getCurrentView();
1306        \u0275\u0275projectionDef(_c8);
1307        \u0275\u0275template(0, MatFormField_ng_template_0_Template, 1, 1, "ng-template", null, 0, \u0275\u0275templateRefExtractor);
1308        \u0275\u0275elementStart(2, "div", 6, 1);
1309        \u0275\u0275listener("click", function MatFormField_Template_div_click_2_listener($event) {
1310          \u0275\u0275restoreView(_r1);
1311          return \u0275\u0275resetView(ctx._control.onContainerClick($event));
1312        });
1313        \u0275\u0275conditionalCreate(4, MatFormField_Conditional_4_Template, 1, 0, "div", 7);
1314        \u0275\u0275elementStart(5, "div", 8);
1315        \u0275\u0275conditionalCreate(6, MatFormField_Conditional_6_Template, 2, 2, "div", 9);
1316        \u0275\u0275conditionalCreate(7, MatFormField_Conditional_7_Template, 3, 0, "div", 10);
1317        \u0275\u0275conditionalCreate(8, MatFormField_Conditional_8_Template, 3, 0, "div", 11);
1318        \u0275\u0275elementStart(9, "div", 12);
1319        \u0275\u0275conditionalCreate(10, MatFormField_Conditional_10_Template, 1, 1, null, 13);
1320        \u0275\u0275projection(11);
1321        \u0275\u0275elementEnd();
1322        \u0275\u0275conditionalCreate(12, MatFormField_Conditional_12_Template, 3, 0, "div", 14);
1323        \u0275\u0275conditionalCreate(13, MatFormField_Conditional_13_Template, 3, 0, "div", 15);
1324        \u0275\u0275elementEnd();
1325        \u0275\u0275conditionalCreate(14, MatFormField_Conditional_14_Template, 1, 0, "div", 16);
1326        \u0275\u0275elementEnd();
1327        \u0275\u0275elementStart(15, "div", 17)(16, "div", 18);
1328        \u0275\u0275conditionalCreate(17, MatFormField_Case_17_Template, 1, 0)(18, MatFormField_Case_18_Template, 4, 1);
1329        \u0275\u0275elementEnd()();
1330      }
1331      if (rf & 2) {
1332        let tmp_19_0;
1333        \u0275\u0275advance(2);
1334        \u0275\u0275classProp("mdc-text-field--filled", !ctx._hasOutline())("mdc-text-field--outlined", ctx._hasOutline())("mdc-text-field--no-label", !ctx._hasFloatingLabel())("mdc-text-field--disabled", ctx._control.disabled)("mdc-text-field--invalid", ctx._control.errorState);
1335        \u0275\u0275advance(2);
1336        \u0275\u0275conditional(!ctx._hasOutline() && !ctx._control.disabled ? 4 : -1);
1337        \u0275\u0275advance(2);
1338        \u0275\u0275conditional(ctx._hasOutline() ? 6 : -1);
1339        \u0275\u0275advance();
1340        \u0275\u0275conditional(ctx._hasIconPrefix ? 7 : -1);
1341        \u0275\u0275advance();
1342        \u0275\u0275conditional(ctx._hasTextPrefix ? 8 : -1);
1343        \u0275\u0275advance(2);
1344        \u0275\u0275conditional(!ctx._hasOutline() || ctx._forceDisplayInfixLabel() ? 10 : -1);
1345        \u0275\u0275advance(2);
1346        \u0275\u0275conditional(ctx._hasTextSuffix ? 12 : -1);
1347        \u0275\u0275advance();
1348        \u0275\u0275conditional(ctx._hasIconSuffix ? 13 : -1);
1349        \u0275\u0275advance();
1350        \u0275\u0275conditional(!ctx._hasOutline() ? 14 : -1);
1351        \u0275\u0275advance();
1352        \u0275\u0275classProp("mat-mdc-form-field-subscript-dynamic-size", ctx.subscriptSizing === "dynamic");
1353        const subscriptMessageType_r4 = ctx._getSubscriptMessageType();
1354        \u0275\u0275advance();
1355        \u0275\u0275classProp("mat-mdc-form-field-error-wrapper", subscriptMessageType_r4 === "error")("mat-mdc-form-field-hint-wrapper", subscriptMessageType_r4 === "hint");
1356        \u0275\u0275advance();
1357        \u0275\u0275conditional((tmp_19_0 = subscriptMessageType_r4) === "error" ? 17 : tmp_19_0 === "hint" ? 18 : -1);
1358      }
1359    },
1360    dependencies: [MatFormFieldFloatingLabel, MatFormFieldNotchedOutline, NgTemplateOutlet, MatFormFieldLineRipple, MatHint],
1361    styles: ['.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator,.mdc-text-field__input::-webkit-search-cancel-button{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder{opacity:0}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-filled-caret-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error))}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent))}.mdc-text-field--outlined{height:56px;overflow:visible;padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}@media(forced-colors: active){.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.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{transform:translateY(-34.75px) scale(0.75)}.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{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));border-width:var(--mat-form-field-outlined-outline-width, 1px)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary))}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error))}.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{border-color:var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mat-form-field-outlined-focus-outline-width, 2px)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{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))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{max-width:min(100%,calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mat-form-field-filled-active-indicator-height, 1px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container))}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mat-form-field-filled-focus-active-indicator-height, 2px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error))}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.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{border-left:1px solid rgba(0,0,0,0)}[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{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height, 56px);padding-top:var(--mat-form-field-filled-with-label-container-padding-top, 24px);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom, 8px)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding, 16px);padding-bottom:var(--mat-form-field-container-vertical-padding, 16px)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height, 56px)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}@keyframes _mat-form-field-subscript-animation{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px;opacity:1;transform:translateY(0);animation:_mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color, var(--mat-sys-error))}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));letter-spacing:var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight))}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface))}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity, 0)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10))}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant))}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}@media(forced-colors: active){.mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}}@media(forced-colors: active){.mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}}.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]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));font-weight:var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error))}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container))}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error))}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field-infix:has(textarea[cols]){width:auto}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper{animation-duration:300ms}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}\n'],
1362    encapsulation: 2,
1363    changeDetection: 0
1364  });
1365};
1366(() => {
1367  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormField, [{
1368    type: Component,
1369    args: [{
1370      selector: "mat-form-field",
1371      exportAs: "matFormField",
1372      host: {
1373        "class": "mat-mdc-form-field",
1374        "[class.mat-mdc-form-field-label-always-float]": "_shouldAlwaysFloat()",
1375        "[class.mat-mdc-form-field-has-icon-prefix]": "_hasIconPrefix",
1376        "[class.mat-mdc-form-field-has-icon-suffix]": "_hasIconSuffix",
1377        // Note that these classes reuse the same names as the non-MDC version, because they can be
1378        // considered a public API since custom form controls may use them to style themselves.
1379        // See https://github.com/angular/components/pull/20502#discussion_r486124901.
1380        "[class.mat-form-field-invalid]": "_control.errorState",
1381        "[class.mat-form-field-disabled]": "_control.disabled",
1382        "[class.mat-form-field-autofilled]": "_control.autofilled",
1383        "[class.mat-form-field-appearance-fill]": 'appearance == "fill"',
1384        "[class.mat-form-field-appearance-outline]": 'appearance == "outline"',
1385        "[class.mat-form-field-hide-placeholder]": "_hasFloatingLabel() && !_shouldLabelFloat()",
1386        "[class.mat-focused]": "_control.focused",
1387        "[class.mat-primary]": 'color !== "accent" && color !== "warn"',
1388        "[class.mat-accent]": 'color === "accent"',
1389        "[class.mat-warn]": 'color === "warn"',
1390        "[class.ng-untouched]": '_shouldForward("untouched")',
1391        "[class.ng-touched]": '_shouldForward("touched")',
1392        "[class.ng-pristine]": '_shouldForward("pristine")',
1393        "[class.ng-dirty]": '_shouldForward("dirty")',
1394        "[class.ng-valid]": '_shouldForward("valid")',
1395        "[class.ng-invalid]": '_shouldForward("invalid")',
1396        "[class.ng-pending]": '_shouldForward("pending")'
1397      },
1398      encapsulation: ViewEncapsulation.None,
1399      changeDetection: ChangeDetectionStrategy.OnPush,
1400      providers: [{
1401        provide: MAT_FORM_FIELD,
1402        useExisting: MatFormField
1403      }, {
1404        provide: FLOATING_LABEL_PARENT,
1405        useExisting: MatFormField
1406      }],
1407      imports: [MatFormFieldFloatingLabel, MatFormFieldNotchedOutline, NgTemplateOutlet, MatFormFieldLineRipple, MatHint],
1408      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\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  <!-- \n    Use a single permanent wrapper for both hints and errors so aria-live works correctly,\n    as having it appear post render will not consistently work. We also do not want to add\n    additional divs as it causes styling regressions.\n    -->\n  <div aria-atomic="true" aria-live="polite" \n      [class.mat-mdc-form-field-error-wrapper]="subscriptMessageType === \'error\'"\n      [class.mat-mdc-form-field-hint-wrapper]="subscriptMessageType === \'hint\'"\n    >\n    @switch (subscriptMessageType) {\n      @case (\'error\') {\n        <ng-content select="mat-error, [matError]"></ng-content>\n      }\n\n      @case (\'hint\') {\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      }\n    }\n  </div>\n</div>\n',
1409      styles: ['.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator,.mdc-text-field__input::-webkit-search-cancel-button{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder{opacity:0}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-filled-caret-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error))}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent))}.mdc-text-field--outlined{height:56px;overflow:visible;padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}@media(forced-colors: active){.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.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{transform:translateY(-34.75px) scale(0.75)}.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{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));border-width:var(--mat-form-field-outlined-outline-width, 1px)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary))}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error))}.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{border-color:var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mat-form-field-outlined-focus-outline-width, 2px)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{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))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{max-width:min(100%,calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mat-form-field-filled-active-indicator-height, 1px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container))}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mat-form-field-filled-focus-active-indicator-height, 2px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error))}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.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{border-left:1px solid rgba(0,0,0,0)}[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{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height, 56px);padding-top:var(--mat-form-field-filled-with-label-container-padding-top, 24px);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom, 8px)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding, 16px);padding-bottom:var(--mat-form-field-container-vertical-padding, 16px)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height, 56px)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}@keyframes _mat-form-field-subscript-animation{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px;opacity:1;transform:translateY(0);animation:_mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color, var(--mat-sys-error))}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));letter-spacing:var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight))}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface))}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity, 0)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10))}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant))}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}@media(forced-colors: active){.mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}}@media(forced-colors: active){.mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}}.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]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));font-weight:var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error))}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container))}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error))}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field-infix:has(textarea[cols]){width:auto}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.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{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper{animation-duration:300ms}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)}\n']
1410    }]
1411  }], () => [], {
1412    _textField: [{
1413      type: ViewChild,
1414      args: ["textField"]
1415    }],
1416    _iconPrefixContainer: [{
1417      type: ViewChild,
1418      args: ["iconPrefixContainer"]
1419    }],
1420    _textPrefixContainer: [{
1421      type: ViewChild,
1422      args: ["textPrefixContainer"]
1423    }],
1424    _iconSuffixContainer: [{
1425      type: ViewChild,
1426      args: ["iconSuffixContainer"]
1427    }],
1428    _textSuffixContainer: [{
1429      type: ViewChild,
1430      args: ["textSuffixContainer"]
1431    }],
1432    _floatingLabel: [{
1433      type: ViewChild,
1434      args: [MatFormFieldFloatingLabel]
1435    }],
1436    _notchedOutline: [{
1437      type: ViewChild,
1438      args: [MatFormFieldNotchedOutline]
1439    }],
1440    _lineRipple: [{
1441      type: ViewChild,
1442      args: [MatFormFieldLineRipple]
1443    }],
1444    _formFieldControl: [{
1445      type: ContentChild,
1446      args: [MatFormFieldControl]
1447    }],
1448    _prefixChildren: [{
1449      type: ContentChildren,
1450      args: [MAT_PREFIX, {
1451        descendants: true
1452      }]
1453    }],
1454    _suffixChildren: [{
1455      type: ContentChildren,
1456      args: [MAT_SUFFIX, {
1457        descendants: true
1458      }]
1459    }],
1460    _errorChildren: [{
1461      type: ContentChildren,
1462      args: [MAT_ERROR, {
1463        descendants: true
1464      }]
1465    }],
1466    _hintChildren: [{
1467      type: ContentChildren,
1468      args: [MatHint, {
1469        descendants: true
1470      }]
1471    }],
1472    hideRequiredMarker: [{
1473      type: Input
1474    }],
1475    color: [{
1476      type: Input
1477    }],
1478    floatLabel: [{
1479      type: Input
1480    }],
1481    appearance: [{
1482      type: Input
1483    }],
1484    subscriptSizing: [{
1485      type: Input
1486    }],
1487    hintLabel: [{
1488      type: Input
1489    }]
1490  });
1491})();
1492
vendor: 1,109 bytes, lines 1493-1516
1493// node_modules/@angular/material/fesm2022/module-B62K-792.mjs
1494var MatFormFieldModule = class _MatFormFieldModule {
1495  static \u0275fac = function MatFormFieldModule_Factory(__ngFactoryType__) {
1496    return new (__ngFactoryType__ || _MatFormFieldModule)();
1497  };
1498  static \u0275mod = /* @__PURE__ */ \u0275\u0275defineNgModule({
1499    type: _MatFormFieldModule,
1500    imports: [MatCommonModule, ObserversModule, MatFormField, MatLabel, MatError, MatHint, MatPrefix, MatSuffix],
1501    exports: [MatFormField, MatLabel, MatHint, MatError, MatPrefix, MatSuffix, MatCommonModule]
1502  });
1503  static \u0275inj = /* @__PURE__ */ \u0275\u0275defineInjector({
1504    imports: [MatCommonModule, ObserversModule, MatFormField, MatCommonModule]
1505  });
1506};
1507(() => {
1508  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MatFormFieldModule, [{
1509    type: NgModule,
1510    args: [{
1511      imports: [MatCommonModule, ObserversModule, MatFormField, MatLabel, MatError, MatHint, MatPrefix, MatSuffix],
1512      exports: [MatFormField, MatLabel, MatHint, MatError, MatPrefix, MatSuffix, MatCommonModule]
1513    }]
1514  }], null, null);
1515})();
1516
vendor: 1,450 bytes, lines 1517-1556
1517// node_modules/@angular/material/fesm2022/error-options-DCNQlTOA.mjs
1518var ShowOnDirtyErrorStateMatcher = class _ShowOnDirtyErrorStateMatcher {
1519  isErrorState(control, form) {
1520    return !!(control && control.invalid && (control.dirty || form && form.submitted));
1521  }
1522  static \u0275fac = function ShowOnDirtyErrorStateMatcher_Factory(__ngFactoryType__) {
1523    return new (__ngFactoryType__ || _ShowOnDirtyErrorStateMatcher)();
1524  };
1525  static \u0275prov = /* @__PURE__ */ \u0275\u0275defineInjectable({
1526    token: _ShowOnDirtyErrorStateMatcher,
1527    factory: _ShowOnDirtyErrorStateMatcher.\u0275fac
1528  });
1529};
1530(() => {
1531  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ShowOnDirtyErrorStateMatcher, [{
1532    type: Injectable
1533  }], null, null);
1534})();
1535var ErrorStateMatcher = class _ErrorStateMatcher {
1536  isErrorState(control, form) {
1537    return !!(control && control.invalid && (control.touched || form && form.submitted));
1538  }
1539  static \u0275fac = function ErrorStateMatcher_Factory(__ngFactoryType__) {
1540    return new (__ngFactoryType__ || _ErrorStateMatcher)();
1541  };
1542  static \u0275prov = /* @__PURE__ */ \u0275\u0275defineInjectable({
1543    token: _ErrorStateMatcher,
1544    factory: _ErrorStateMatcher.\u0275fac,
1545    providedIn: "root"
1546  });
1547};
1548(() => {
1549  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ErrorStateMatcher, [{
1550    type: Injectable,
1551    args: [{
1552      providedIn: "root"
1553    }]
1554  }], null, null);
1555})();
1556
vendor: 1,355 bytes, lines 1557-1601
1557// node_modules/@angular/material/fesm2022/error-state-Dtb1IHM-.mjs
1558var _ErrorStateTracker = class {
1559  _defaultMatcher;
1560  ngControl;
1561  _parentFormGroup;
1562  _parentForm;
1563  _stateChanges;
1564  /** Whether the tracker is currently in an error state. */
1565  errorState = false;
1566  /** User-defined matcher for the error state. */
1567  matcher;
1568  constructor(_defaultMatcher, ngControl, _parentFormGroup, _parentForm, _stateChanges) {
1569    this._defaultMatcher = _defaultMatcher;
1570    this.ngControl = ngControl;
1571    this._parentFormGroup = _parentFormGroup;
1572    this._parentForm = _parentForm;
1573    this._stateChanges = _stateChanges;
1574  }
1575  /** Updates the error state based on the provided error state matcher. */
1576  updateErrorState() {
1577    const oldState = this.errorState;
1578    const parent = this._parentFormGroup || this._parentForm;
1579    const matcher = this.matcher || this._defaultMatcher;
1580    const control = this.ngControl ? this.ngControl.control : null;
1581    const newState = matcher?.isErrorState(control, parent) ?? false;
1582    if (newState !== oldState) {
1583      this.errorState = newState;
1584      this._stateChanges.next();
1585    }
1586  }
1587};
1588
1589export {
1590  MatLabel,
1591  MatError,
1592  MatHint,
1593  MatSuffix,
1594  MatFormFieldControl,
1595  MAT_FORM_FIELD,
1596  MatFormField,
1597  MatFormFieldModule,
1598  ErrorStateMatcher,
1599  _ErrorStateTracker
1600};
1601//# sourceMappingURL=chunk-ES4YW253.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.