@praxisui/dynamic-fields 9.0.0-beta.88 → 9.0.0-beta.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-07-23T02:50:28.389Z",
3
+ "generatedAt": "2026-07-24T12:32:39.440Z",
4
4
  "packageName": "@praxisui/dynamic-fields",
5
- "packageVersion": "9.0.0-beta.88",
5
+ "packageVersion": "9.0.0-beta.90",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 76,
@@ -87,6 +87,11 @@ campos, nao de CSS local. O Angular Material documenta que, em campos
87
87
  `fill`/`outline`, prefixos/sufixos nao se alinham bem com labels em repouso; por
88
88
  isso a recomendacao oficial e manter o label sempre flutuante nesses cenarios.
89
89
 
90
+ O runtime usa `subscriptSizing: 'dynamic'` como padrao seguro: hints e erros
91
+ multiline participam do fluxo vertical e nao podem invadir o proximo campo.
92
+ Use `'fixed'` somente como opt-in explicito quando o conteudo do subscript for
93
+ comprovadamente limitado a uma linha.
94
+
90
95
  ## 1. Texto livre vs selecao
91
96
 
92
97
  ### Use `input` / `textarea` quando
@@ -115,6 +120,22 @@ Se o schema usa `input` para algo que depois exige validacao pesada, busca seman
115
120
  | entidade de negocio remota com status, permissao, reidratacao ou dependencias | `entityLookup` | preserva identidade de entidade e usa contrato `RESOURCE_ENTITY` em vez de tratar entidade como opcao simples |
116
121
  | busca incremental com semantica de sugestao | `autoComplete` | boa UX para descoberta |
117
122
 
123
+ ### Bootstrap assíncrono de seleção
124
+
125
+ O valor selecionado e as options podem chegar em momentos diferentes. Para
126
+ options locais, o host deve manter o `FormControl` vazio até a option canonica
127
+ estar disponível. Caso o valor persistido já tenha chegado, o
128
+ `inlineEntityLookup` o preserva como pendente: não o apresenta como seleção
129
+ ativa nem emite evento de seleção até encontrar a option correspondente.
130
+
131
+ Para fonte remota ou `RESOURCE_ENTITY`, preserve o ID e use a reidratação
132
+ canônica por by-ids. Não substitua esse fluxo por uma lista local e não limpe
133
+ silenciosamente um valor que ainda está sendo reidratado.
134
+
135
+ Em ambos os casos, teste valor antes das options, options antes do valor, ID
136
+ ausente e mudança de contexto durante a carga. A reconciliação não é uma ação
137
+ do usuário e não deve emitir `selectionChange` nem disparar refresh da rota.
138
+
118
139
  ### Promocao oficial de exemplos `entityLookup`
119
140
 
120
141
  Um recurso so deve ser promovido como exemplo oficial de `entityLookup` quando
@@ -7484,7 +7484,7 @@ class MaterialDateRangeComponent extends SimpleBaseInputComponent {
7484
7484
  [color]="materialColor()"
7485
7485
  [class]="componentCssClasses()"
7486
7486
  [floatLabel]="floatLabelBehavior()"
7487
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
7487
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
7488
7488
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
7489
7489
  >
7490
7490
  <mat-label>{{ label }}</mat-label>
@@ -7630,7 +7630,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
7630
7630
  [color]="materialColor()"
7631
7631
  [class]="componentCssClasses()"
7632
7632
  [floatLabel]="floatLabelBehavior()"
7633
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
7633
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
7634
7634
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
7635
7635
  >
7636
7636
  <mat-label>{{ label }}</mat-label>
@@ -8033,7 +8033,7 @@ class MaterialDatepickerComponent extends SimpleBaseInputComponent {
8033
8033
  [color]="materialColor()"
8034
8034
  [class]="componentCssClasses()"
8035
8035
  [floatLabel]="floatLabelBehavior()"
8036
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
8036
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
8037
8037
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
8038
8038
  >
8039
8039
  <mat-label>{{ label }}</mat-label>
@@ -8137,7 +8137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
8137
8137
  [color]="materialColor()"
8138
8138
  [class]="componentCssClasses()"
8139
8139
  [floatLabel]="floatLabelBehavior()"
8140
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
8140
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
8141
8141
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
8142
8142
  >
8143
8143
  <mat-label>{{ label }}</mat-label>
@@ -13353,7 +13353,7 @@ class MaterialAsyncSelectComponent extends SimpleBaseSelectComponent {
13353
13353
  [color]="materialColor()"
13354
13354
  [class]="componentCssClasses()"
13355
13355
  [floatLabel]="floatLabelBehavior()"
13356
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
13356
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
13357
13357
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
13358
13358
  >
13359
13359
  <mat-label>{{ label }}</mat-label>
@@ -13495,7 +13495,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
13495
13495
  [color]="materialColor()"
13496
13496
  [class]="componentCssClasses()"
13497
13497
  [floatLabel]="floatLabelBehavior()"
13498
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
13498
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
13499
13499
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
13500
13500
  >
13501
13501
  <mat-label>{{ label }}</mat-label>
@@ -13717,7 +13717,7 @@ class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
13717
13717
  : ['pdx-inline-entity-lookup-panel'];
13718
13718
  }
13719
13719
  hasSelection() {
13720
- return this.selectedCount() > 0;
13720
+ return this.selectedCount() > 0 && !this.hasPendingLocalSelection();
13721
13721
  }
13722
13722
  selectedCount() {
13723
13723
  const value = this.control().value;
@@ -13731,6 +13731,12 @@ class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
13731
13731
  if (value === null || value === undefined || value === '') {
13732
13732
  return this.placeholderText();
13733
13733
  }
13734
+ // A shell can restore its persisted context before its local options arrive.
13735
+ // Keep the control identity intact, but do not expose an orphan value as a
13736
+ // selected entity or emit a synthetic selection while the list is pending.
13737
+ if (this.hasPendingLocalSelection()) {
13738
+ return this.placeholderText();
13739
+ }
13734
13740
  if (Array.isArray(value)) {
13735
13741
  if (!value.length) {
13736
13742
  return this.placeholderText();
@@ -13749,6 +13755,17 @@ class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
13749
13755
  const single = this.resolveLookupText(value);
13750
13756
  return single || this.placeholderText();
13751
13757
  }
13758
+ hasPendingLocalSelection() {
13759
+ if (this.resourcePath() ||
13760
+ this.currentMetadata().controlType !== 'inlineEntityLookup') {
13761
+ return false;
13762
+ }
13763
+ const value = this.control().value;
13764
+ const selectedValues = Array.isArray(value) ? value : [value];
13765
+ const nonEmptyValues = selectedValues.filter((entry) => entry !== null && entry !== undefined && entry !== '');
13766
+ return (nonEmptyValues.length > 0 &&
13767
+ nonEmptyValues.some((entry) => !this.findKnownLookupOption(entry)));
13768
+ }
13752
13769
  richLayoutEnabled() {
13753
13770
  const meta = this.currentMetadata();
13754
13771
  const display = this.lookupDisplayConfig();
@@ -19501,7 +19518,7 @@ class MaterialSelectComponent extends SimpleBaseSelectComponent {
19501
19518
  floatLabel="auto"
19502
19519
  [class]="componentCssClasses()"
19503
19520
  [floatLabel]="floatLabelBehavior()"
19504
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
19521
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
19505
19522
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
19506
19523
  >
19507
19524
  <mat-label>{{ label }}</mat-label>
@@ -19652,7 +19669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
19652
19669
  floatLabel="auto"
19653
19670
  [class]="componentCssClasses()"
19654
19671
  [floatLabel]="floatLabelBehavior()"
19655
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
19672
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
19656
19673
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
19657
19674
  >
19658
19675
  <mat-label>{{ label }}</mat-label>
@@ -20388,7 +20405,7 @@ class MaterialTextareaComponent extends SimpleBaseInputComponent {
20388
20405
  useExisting: forwardRef(() => MaterialTextareaComponent),
20389
20406
  multi: true,
20390
20407
  },
20391
- ], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [appearance]=\"materialAppearance()\"\n [color]=\"materialColor()\"\n [floatLabel]=\"floatLabelBehavior()\"\n [class.pdx-textarea-auto-resize]=\"autoResizeEnabled()\"\n [class.pdx-textarea-spellcheck]=\"metadata()?.spellcheck\"\n [class.pdx-textarea-code]=\"isCodeLikeMode()\"\n>\n <mat-label>\n <span\n [matTooltip]=\"metadata()?.description || null\"\n [matTooltipDisabled]=\"!metadata()?.description\"\n matTooltipPosition=\"above\"\n >\n {{ label }}\n </span>\n </mat-label>\n <!-- Optional prefix icon -->\n @if (metadata()?.prefixIcon) {\n <mat-icon\n matPrefix\n [matTooltip]=\"'Icon: ' + metadata()?.prefixIcon\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.prefixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.prefixIconColor)\"\n [praxisIcon]=\"metadata()?.prefixIcon\"\n ></mat-icon>\n }\n\n <textarea\n matInput\n [formControl]=\"control()\"\n [attr.placeholder]=\"shouldShowPlaceholder && placeholder ? placeholder : null\"\n [readonly]=\"isReadonlyEffective()\"\n [rows]=\"getRowsAttr()\"\n [cdkTextareaAutosize]=\"autoResizeEnabled()\"\n [cdkAutosizeMinRows]=\"getMinRowsAttr()\"\n [cdkAutosizeMaxRows]=\"getMaxRowsAttr()\"\n [maxlength]=\"metadata()?.maxLength || null\"\n [minlength]=\"metadata()?.minLength || null\"\n [attr.aria-describedby]=\"hasInlineFieldHelp() ? componentId() + '-hint' : null\"\n [attr.spellcheck]=\"effectiveSpellcheck() === null ? null : effectiveSpellcheck()\"\n [attr.wrap]=\"effectiveWrap()\"\n [attr.cols]=\"metadata()?.cols || null\"\n [style.resize]=\"metadata()?.resize || null\"\n [matTooltip]=\"tooltipEnabled() ? errorMessage() : null\"\n [matTooltipDisabled]=\"!(tooltipEnabled() && hasValidationError())\"\n [matTooltipPosition]=\"tooltipPosition()\"\n (focus)=\"onFocusLog()\"\n (blur)=\"onBlurLog()\"\n (input)=\"onInputLog($event)\"\n (paste)=\"onPaste($event)\"\n (cut)=\"onCut($event)\"\n (keydown)=\"onTextareaKeydown($event)\"\n ></textarea>\n <!-- Optional suffix icon -->\n @if (metadata()?.suffixIcon) {\n <mat-icon\n matSuffix\n [matTooltip]=\"metadata()?.suffixIconTooltip || ('Icon: ' + metadata()?.suffixIcon)\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.suffixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.suffixIconColor)\"\n [attr.aria-label]=\"metadata()?.suffixIconAriaLabel || null\"\n [praxisIcon]=\"metadata()?.suffixIcon\"\n ></mat-icon>\n }\n <!-- Optional clear button -->\n @if (showClear()) {\n <button\n mat-icon-button\n matSuffix\n type=\"button\"\n (click)=\"onClearClick()\"\n [disabled]=\"disabledMode || isReadonlyEffective() || presentationMode\"\n [matTooltip]=\"clearActionTooltip()\"\n matTooltipPosition=\"above\"\n [attr.aria-label]=\"clearActionAriaLabel()\"\n >\n <mat-icon\n [color]=\"iconPalette(metadata()?.clearButton?.iconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.clearButton?.iconColor)\"\n [praxisIcon]=\"metadata()?.clearButton?.icon || 'mi:clear'\"\n ></mat-icon>\n </button>\n }\n @if (fieldHelpPopoverText()) {\n <mat-icon\n matSuffix\n class=\"pdx-field-help-icon\"\n [matTooltip]=\"fieldHelpPopoverText()\"\n matTooltipPosition=\"above\"\n [matTooltipDisabled]=\"fieldHelpPopoverDisabled()\"\n [attr.aria-label]=\"fieldHelpAriaLabel()\"\n tabindex=\"0\"\n [praxisIcon]=\"'help_outline'\"\n ></mat-icon>\n }\n @if (hasInlineFieldHelp()) {\n <mat-hint [id]=\"componentId() + '-hint'\" align=\"start\">{{ fieldHelpInlineText() }}</mat-hint>\n }\n @if (showCharacterCount()) {\n <mat-hint align=\"end\" [class.pdx-character-count-warning]=\"isNearLimit()\" [class.pdx-character-count-error]=\"isAtOrOverLimit()\">\n {{ charCount }}/{{ metadata()?.maxLength }}\n </mat-hint>\n }\n @if (showStats()) {\n <mat-hint align=\"end\">{{ getWords() }} palavras \u2022 {{ getLines() }} linhas</mat-hint>\n }\n @if (hasValidationError()) {\n <mat-error>{{ errorMessage() }}</mat-error>\n }\n</mat-form-field>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;position:relative}:host.pdx-loading{pointer-events:none;opacity:.7}:host.pdx-error .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-focused .mat-mdc-form-field{--mdc-outlined-text-field-focused-outline-color: var(--md-sys-color-primary)}:host.pdx-dirty .mat-mdc-form-field-label:after{content:\" \\2022\";color:var(--md-sys-color-primary);font-weight:700}:host.pdx-valid.pdx-dirty .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-tertiary)}:host.pdx-invalid.pdx-touched .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-textarea-auto-resize .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix textarea{resize:none!important;overflow-y:hidden;transition:height .2s ease-out}:host.pdx-textarea-with-preview .mat-mdc-form-field{margin-bottom:16px}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-webkit-input-placeholder{font-style:italic}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-moz-placeholder{font-style:italic}:host.pdx-textarea-with-stats{margin-bottom:48px}.pdx-textarea-container{position:relative;width:100%}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:inherit;line-height:1.5}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar{width:8px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-track{background:var(--md-sys-color-surface-variant);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline-variant)}.mat-mdc-form-field .mat-mdc-form-field-suffix{display:flex;align-items:center;gap:4px}.mat-mdc-form-field.pdx-textarea-with-tabs{border-top:1px solid var(--md-sys-color-outline-variant);border-radius:0 0 4px 4px}:host.pdx-textarea-code .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;white-space:pre;word-break:normal;overflow-x:auto}.pdx-character-count-warning{color:var(--md-sys-color-secondary)}.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600}.pdx-textarea-tabs{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px 4px 0 0;margin-bottom:-1px}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid var(--md-sys-color-outline-variant)}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{padding:16px;min-height:200px}.pdx-textarea-preview-content{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:16px;min-height:120px;font-family:inherit;line-height:1.6}.pdx-textarea-preview-content .markdown-content h1,.pdx-textarea-preview-content .markdown-content h2,.pdx-textarea-preview-content .markdown-content h3,.pdx-textarea-preview-content .markdown-content h4,.pdx-textarea-preview-content .markdown-content h5,.pdx-textarea-preview-content .markdown-content h6{margin:16px 0 8px;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content h1:first-child,.pdx-textarea-preview-content .markdown-content h2:first-child,.pdx-textarea-preview-content .markdown-content h3:first-child,.pdx-textarea-preview-content .markdown-content h4:first-child,.pdx-textarea-preview-content .markdown-content h5:first-child,.pdx-textarea-preview-content .markdown-content h6:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content h1{font-size:1.5rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h2{font-size:1.3rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h3{font-size:1.1rem;font-weight:500}.pdx-textarea-preview-content .markdown-content p{margin:8px 0}.pdx-textarea-preview-content .markdown-content p:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content p:last-child{margin-bottom:0}.pdx-textarea-preview-content .markdown-content strong{font-weight:600;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content em{font-style:italic}.pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:3px;padding:2px 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.pdx-textarea-preview-content .markdown-content br{line-height:1.8}.pdx-templates-button,.pdx-preview-button,.pdx-auto-resize-button,.pdx-clear-button{width:32px;height:32px;line-height:32px;opacity:.7;transition:all .2s ease}.pdx-templates-button:hover,.pdx-preview-button:hover,.pdx-auto-resize-button:hover,.pdx-clear-button:hover{opacity:1;background:var(--md-sys-color-primary-container)}.pdx-templates-button .mat-icon,.pdx-preview-button .mat-icon,.pdx-auto-resize-button .mat-icon,.pdx-clear-button .mat-icon{font-size:18px;width:18px;height:18px}.pdx-templates-button.pdx-preview-active,.pdx-templates-button.pdx-auto-resize-active,.pdx-preview-button.pdx-preview-active,.pdx-preview-button.pdx-auto-resize-active,.pdx-auto-resize-button.pdx-preview-active,.pdx-auto-resize-button.pdx-auto-resize-active,.pdx-clear-button.pdx-preview-active,.pdx-clear-button.pdx-auto-resize-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-templates-menu .pdx-template-item{padding:12px 16px;line-height:1.4}.pdx-templates-menu .pdx-template-item .mat-icon{margin-right:12px;color:var(--md-sys-color-primary)}.pdx-templates-menu .pdx-template-item .pdx-template-info{display:flex;flex-direction:column}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-name{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-description{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;margin-top:2px}.pdx-templates-menu .pdx-template-item:hover{background:var(--md-sys-color-surface-variant)}.pdx-text-statistics{position:absolute;bottom:-44px;left:0;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:8px 12px}.pdx-text-statistics .pdx-stats-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-weight:600;font-size:.9rem;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.7rem;color:var(--md-sys-color-on-surface-variant);text-transform:lowercase;margin-top:2px}.pdx-preview-panel{margin-top:16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;background:var(--md-sys-color-surface)}.pdx-preview-panel .pdx-preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-variant)}.pdx-preview-panel .pdx-preview-header .pdx-preview-title{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector{display:flex;gap:4px}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button{width:32px;height:32px;opacity:.6;transition:all .2s ease}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button:hover{opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button .mat-icon{font-size:16px;width:16px;height:16px}.pdx-preview-panel .pdx-preview-content{padding:16px;min-height:120px;line-height:1.6}.mat-mdc-form-field-label{cursor:pointer;transition:all .2s ease}.mat-mdc-form-field-label:hover{color:var(--md-sys-color-primary)}.mat-mdc-form-field-label .pdx-required-marker{color:var(--md-sys-color-error);margin-left:2px;font-weight:700}.pdx-label-editor{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-primary);border-radius:4px;padding:4px 8px;font-size:inherit;font-family:inherit;color:inherit;outline:none;box-shadow:var(--md-sys-elevation-level1, var(--md-sys-elevation-level1))}.pdx-label-editor:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary)}.pdx-character-count{font-size:.75rem;font-variant-numeric:tabular-nums;transition:color .2s ease}.pdx-character-count.pdx-character-count-warning{color:var(--md-sys-color-secondary);font-weight:500}.pdx-character-count.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600;animation:pulse-error 1s ease-in-out}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}.pdx-error-message{display:flex;align-items:flex-start;gap:4px;font-size:.75rem;line-height:1.4;margin-top:4px}.pdx-error-message .pdx-error-icon{font-size:16px;width:16px;height:16px;margin-top:1px;color:var(--md-sys-color-error)}.pdx-error-message.pdx-additional-error{margin-top:2px;opacity:.8;font-size:.7rem}.pdx-additional-errors{margin-top:4px}.pdx-validation-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;color:var(--md-sys-color-primary);font-size:.75rem}.pdx-validation-loading .pdx-loading-spinner{font-size:16px;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdx-debug-info{position:absolute;top:-24px;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:4px;padding:2px 6px;font-size:.65rem;color:var(--md-sys-color-on-surface-variant);z-index:10}.pdx-debug-info .pdx-debug-security{display:block;font-family:monospace}.pdx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){:host .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: currentColor;--mdc-outlined-text-field-focused-outline-color: currentColor}:host .pdx-character-count.pdx-character-count-warning,:host .pdx-character-count.pdx-character-count-error{color:currentColor;font-weight:700}:host .pdx-text-statistics{border-color:currentColor}:host .pdx-text-statistics .pdx-stat-value{color:currentColor}}@media(prefers-reduced-motion:reduce){:host *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:host .pdx-label-editor{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}:host .pdx-debug-info{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}:host .pdx-text-statistics{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs,:host .pdx-preview-panel{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs .pdx-preview-header,:host .pdx-preview-panel .pdx-preview-header{background:var(--md-sys-color-surface-variant);border-bottom-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content .markdown-content h1,:host .pdx-textarea-preview-content .markdown-content h2,:host .pdx-textarea-preview-content .markdown-content h3,:host .pdx-textarea-preview-content .markdown-content h4,:host .pdx-textarea-preview-content .markdown-content h5,:host .pdx-textarea-preview-content .markdown-content h6{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content strong{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}}@media(max-width:599px){:host .pdx-text-statistics .pdx-stats-grid{gap:8px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:50px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.65rem}:host .pdx-textarea-tabs .mat-mdc-tab-body-wrapper{padding:8px;min-height:150px}:host .pdx-preview-panel .pdx-preview-content{padding:12px;min-height:100px}}@media(min-width:600px){:host .pdx-character-count{font-size:.8rem}:host .pdx-error-message{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:70px}}@media(min-width:1200px){:host.pdx-textarea-with-preview{display:flex;gap:16px}:host.pdx-textarea-with-preview .pdx-textarea-container{flex:1}:host.pdx-textarea-with-preview .pdx-preview-panel{flex:1;margin-top:0;height:fit-content}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i4$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
20408
+ ], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [appearance]=\"materialAppearance()\"\n [color]=\"materialColor()\"\n [floatLabel]=\"floatLabelBehavior()\"\n [subscriptSizing]=\"metadata()?.materialDesign?.subscriptSizing || 'dynamic'\"\n [class.pdx-textarea-auto-resize]=\"autoResizeEnabled()\"\n [class.pdx-textarea-spellcheck]=\"metadata()?.spellcheck\"\n [class.pdx-textarea-code]=\"isCodeLikeMode()\"\n>\n <mat-label>\n <span\n [matTooltip]=\"metadata()?.description || null\"\n [matTooltipDisabled]=\"!metadata()?.description\"\n matTooltipPosition=\"above\"\n >\n {{ label }}\n </span>\n </mat-label>\n <!-- Optional prefix icon -->\n @if (metadata()?.prefixIcon) {\n <mat-icon\n matPrefix\n [matTooltip]=\"'Icon: ' + metadata()?.prefixIcon\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.prefixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.prefixIconColor)\"\n [praxisIcon]=\"metadata()?.prefixIcon\"\n ></mat-icon>\n }\n\n <textarea\n matInput\n [formControl]=\"control()\"\n [attr.placeholder]=\"shouldShowPlaceholder && placeholder ? placeholder : null\"\n [readonly]=\"isReadonlyEffective()\"\n [rows]=\"getRowsAttr()\"\n [cdkTextareaAutosize]=\"autoResizeEnabled()\"\n [cdkAutosizeMinRows]=\"getMinRowsAttr()\"\n [cdkAutosizeMaxRows]=\"getMaxRowsAttr()\"\n [maxlength]=\"metadata()?.maxLength || null\"\n [minlength]=\"metadata()?.minLength || null\"\n [attr.spellcheck]=\"effectiveSpellcheck() === null ? null : effectiveSpellcheck()\"\n [attr.wrap]=\"effectiveWrap()\"\n [attr.cols]=\"metadata()?.cols || null\"\n [style.resize]=\"metadata()?.resize || null\"\n [matTooltip]=\"tooltipEnabled() ? errorMessage() : null\"\n [matTooltipDisabled]=\"!(tooltipEnabled() && hasValidationError())\"\n [matTooltipPosition]=\"tooltipPosition()\"\n (focus)=\"onFocusLog()\"\n (blur)=\"onBlurLog()\"\n (input)=\"onInputLog($event)\"\n (paste)=\"onPaste($event)\"\n (cut)=\"onCut($event)\"\n (keydown)=\"onTextareaKeydown($event)\"\n ></textarea>\n <!-- Optional suffix icon -->\n @if (metadata()?.suffixIcon) {\n <mat-icon\n matSuffix\n [matTooltip]=\"metadata()?.suffixIconTooltip || ('Icon: ' + metadata()?.suffixIcon)\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.suffixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.suffixIconColor)\"\n [attr.aria-label]=\"metadata()?.suffixIconAriaLabel || null\"\n [praxisIcon]=\"metadata()?.suffixIcon\"\n ></mat-icon>\n }\n <!-- Optional clear button -->\n @if (showClear()) {\n <button\n mat-icon-button\n matSuffix\n type=\"button\"\n (click)=\"onClearClick()\"\n [disabled]=\"disabledMode || isReadonlyEffective() || presentationMode\"\n [matTooltip]=\"clearActionTooltip()\"\n matTooltipPosition=\"above\"\n [attr.aria-label]=\"clearActionAriaLabel()\"\n >\n <mat-icon\n [color]=\"iconPalette(metadata()?.clearButton?.iconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.clearButton?.iconColor)\"\n [praxisIcon]=\"metadata()?.clearButton?.icon || 'mi:clear'\"\n ></mat-icon>\n </button>\n }\n @if (fieldHelpPopoverText()) {\n <mat-icon\n matSuffix\n class=\"pdx-field-help-icon\"\n [matTooltip]=\"fieldHelpPopoverText()\"\n matTooltipPosition=\"above\"\n [matTooltipDisabled]=\"fieldHelpPopoverDisabled()\"\n [attr.aria-label]=\"fieldHelpAriaLabel()\"\n tabindex=\"0\"\n [praxisIcon]=\"'help_outline'\"\n ></mat-icon>\n }\n @if (hasInlineFieldHelp()) {\n <mat-hint [id]=\"componentId() + '-hint'\" align=\"start\">{{ fieldHelpInlineText() }}</mat-hint>\n }\n @if (showCharacterCount()) {\n <mat-hint align=\"end\" [class.pdx-character-count-warning]=\"isNearLimit()\" [class.pdx-character-count-error]=\"isAtOrOverLimit()\">\n {{ charCount }}/{{ metadata()?.maxLength }}\n </mat-hint>\n }\n @if (showStats()) {\n <mat-hint align=\"end\">{{ getWords() }} palavras \u2022 {{ getLines() }} linhas</mat-hint>\n }\n @if (hasValidationError()) {\n <mat-error>{{ errorMessage() }}</mat-error>\n }\n</mat-form-field>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;position:relative}:host.pdx-loading{pointer-events:none;opacity:.7}:host.pdx-error .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-focused .mat-mdc-form-field{--mdc-outlined-text-field-focused-outline-color: var(--md-sys-color-primary)}:host.pdx-dirty .mat-mdc-form-field-label:after{content:\" \\2022\";color:var(--md-sys-color-primary);font-weight:700}:host.pdx-valid.pdx-dirty .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-tertiary)}:host.pdx-invalid.pdx-touched .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-textarea-auto-resize .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix textarea{resize:none!important;overflow-y:hidden;transition:height .2s ease-out}:host.pdx-textarea-with-preview .mat-mdc-form-field{margin-bottom:16px}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-webkit-input-placeholder{font-style:italic}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-moz-placeholder{font-style:italic}:host.pdx-textarea-with-stats{margin-bottom:48px}.pdx-textarea-container{position:relative;width:100%}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:inherit;line-height:1.5}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar{width:8px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-track{background:var(--md-sys-color-surface-variant);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline-variant)}.mat-mdc-form-field .mat-mdc-form-field-suffix{display:flex;align-items:center;gap:4px}.mat-mdc-form-field.pdx-textarea-with-tabs{border-top:1px solid var(--md-sys-color-outline-variant);border-radius:0 0 4px 4px}:host.pdx-textarea-code .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;white-space:pre;word-break:normal;overflow-x:auto}.pdx-character-count-warning{color:var(--md-sys-color-secondary)}.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600}.pdx-textarea-tabs{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px 4px 0 0;margin-bottom:-1px}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid var(--md-sys-color-outline-variant)}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{padding:16px;min-height:200px}.pdx-textarea-preview-content{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:16px;min-height:120px;font-family:inherit;line-height:1.6}.pdx-textarea-preview-content .markdown-content h1,.pdx-textarea-preview-content .markdown-content h2,.pdx-textarea-preview-content .markdown-content h3,.pdx-textarea-preview-content .markdown-content h4,.pdx-textarea-preview-content .markdown-content h5,.pdx-textarea-preview-content .markdown-content h6{margin:16px 0 8px;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content h1:first-child,.pdx-textarea-preview-content .markdown-content h2:first-child,.pdx-textarea-preview-content .markdown-content h3:first-child,.pdx-textarea-preview-content .markdown-content h4:first-child,.pdx-textarea-preview-content .markdown-content h5:first-child,.pdx-textarea-preview-content .markdown-content h6:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content h1{font-size:1.5rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h2{font-size:1.3rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h3{font-size:1.1rem;font-weight:500}.pdx-textarea-preview-content .markdown-content p{margin:8px 0}.pdx-textarea-preview-content .markdown-content p:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content p:last-child{margin-bottom:0}.pdx-textarea-preview-content .markdown-content strong{font-weight:600;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content em{font-style:italic}.pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:3px;padding:2px 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.pdx-textarea-preview-content .markdown-content br{line-height:1.8}.pdx-templates-button,.pdx-preview-button,.pdx-auto-resize-button,.pdx-clear-button{width:32px;height:32px;line-height:32px;opacity:.7;transition:all .2s ease}.pdx-templates-button:hover,.pdx-preview-button:hover,.pdx-auto-resize-button:hover,.pdx-clear-button:hover{opacity:1;background:var(--md-sys-color-primary-container)}.pdx-templates-button .mat-icon,.pdx-preview-button .mat-icon,.pdx-auto-resize-button .mat-icon,.pdx-clear-button .mat-icon{font-size:18px;width:18px;height:18px}.pdx-templates-button.pdx-preview-active,.pdx-templates-button.pdx-auto-resize-active,.pdx-preview-button.pdx-preview-active,.pdx-preview-button.pdx-auto-resize-active,.pdx-auto-resize-button.pdx-preview-active,.pdx-auto-resize-button.pdx-auto-resize-active,.pdx-clear-button.pdx-preview-active,.pdx-clear-button.pdx-auto-resize-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-templates-menu .pdx-template-item{padding:12px 16px;line-height:1.4}.pdx-templates-menu .pdx-template-item .mat-icon{margin-right:12px;color:var(--md-sys-color-primary)}.pdx-templates-menu .pdx-template-item .pdx-template-info{display:flex;flex-direction:column}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-name{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-description{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;margin-top:2px}.pdx-templates-menu .pdx-template-item:hover{background:var(--md-sys-color-surface-variant)}.pdx-text-statistics{position:absolute;bottom:-44px;left:0;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:8px 12px}.pdx-text-statistics .pdx-stats-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-weight:600;font-size:.9rem;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.7rem;color:var(--md-sys-color-on-surface-variant);text-transform:lowercase;margin-top:2px}.pdx-preview-panel{margin-top:16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;background:var(--md-sys-color-surface)}.pdx-preview-panel .pdx-preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-variant)}.pdx-preview-panel .pdx-preview-header .pdx-preview-title{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector{display:flex;gap:4px}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button{width:32px;height:32px;opacity:.6;transition:all .2s ease}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button:hover{opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button .mat-icon{font-size:16px;width:16px;height:16px}.pdx-preview-panel .pdx-preview-content{padding:16px;min-height:120px;line-height:1.6}.mat-mdc-form-field-label{cursor:pointer;transition:all .2s ease}.mat-mdc-form-field-label:hover{color:var(--md-sys-color-primary)}.mat-mdc-form-field-label .pdx-required-marker{color:var(--md-sys-color-error);margin-left:2px;font-weight:700}.pdx-label-editor{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-primary);border-radius:4px;padding:4px 8px;font-size:inherit;font-family:inherit;color:inherit;outline:none;box-shadow:var(--md-sys-elevation-level1, var(--md-sys-elevation-level1))}.pdx-label-editor:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary)}.pdx-character-count{font-size:.75rem;font-variant-numeric:tabular-nums;transition:color .2s ease}.pdx-character-count.pdx-character-count-warning{color:var(--md-sys-color-secondary);font-weight:500}.pdx-character-count.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600;animation:pulse-error 1s ease-in-out}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}.pdx-error-message{display:flex;align-items:flex-start;gap:4px;font-size:.75rem;line-height:1.4;margin-top:4px}.pdx-error-message .pdx-error-icon{font-size:16px;width:16px;height:16px;margin-top:1px;color:var(--md-sys-color-error)}.pdx-error-message.pdx-additional-error{margin-top:2px;opacity:.8;font-size:.7rem}.pdx-additional-errors{margin-top:4px}.pdx-validation-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;color:var(--md-sys-color-primary);font-size:.75rem}.pdx-validation-loading .pdx-loading-spinner{font-size:16px;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdx-debug-info{position:absolute;top:-24px;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:4px;padding:2px 6px;font-size:.65rem;color:var(--md-sys-color-on-surface-variant);z-index:10}.pdx-debug-info .pdx-debug-security{display:block;font-family:monospace}.pdx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){:host .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: currentColor;--mdc-outlined-text-field-focused-outline-color: currentColor}:host .pdx-character-count.pdx-character-count-warning,:host .pdx-character-count.pdx-character-count-error{color:currentColor;font-weight:700}:host .pdx-text-statistics{border-color:currentColor}:host .pdx-text-statistics .pdx-stat-value{color:currentColor}}@media(prefers-reduced-motion:reduce){:host *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:host .pdx-label-editor{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}:host .pdx-debug-info{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}:host .pdx-text-statistics{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs,:host .pdx-preview-panel{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs .pdx-preview-header,:host .pdx-preview-panel .pdx-preview-header{background:var(--md-sys-color-surface-variant);border-bottom-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content .markdown-content h1,:host .pdx-textarea-preview-content .markdown-content h2,:host .pdx-textarea-preview-content .markdown-content h3,:host .pdx-textarea-preview-content .markdown-content h4,:host .pdx-textarea-preview-content .markdown-content h5,:host .pdx-textarea-preview-content .markdown-content h6{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content strong{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}}@media(max-width:599px){:host .pdx-text-statistics .pdx-stats-grid{gap:8px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:50px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.65rem}:host .pdx-textarea-tabs .mat-mdc-tab-body-wrapper{padding:8px;min-height:150px}:host .pdx-preview-panel .pdx-preview-content{padding:12px;min-height:100px}}@media(min-width:600px){:host .pdx-character-count{font-size:.8rem}:host .pdx-error-message{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:70px}}@media(min-width:1200px){:host.pdx-textarea-with-preview{display:flex;gap:16px}:host.pdx-textarea-with-preview .pdx-textarea-container{flex:1}:host.pdx-textarea-with-preview .pdx-preview-panel{flex:1;margin-top:0;height:fit-content}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i4$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
20392
20409
  }
20393
20410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialTextareaComponent, decorators: [{
20394
20411
  type: Component,
@@ -20417,7 +20434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
20417
20434
  '[attr.data-field-type]': '"textarea"',
20418
20435
  '[attr.data-field-name]': 'metadata()?.name',
20419
20436
  '[attr.data-component-id]': 'componentId()',
20420
- }, template: "<mat-form-field\n [appearance]=\"materialAppearance()\"\n [color]=\"materialColor()\"\n [floatLabel]=\"floatLabelBehavior()\"\n [class.pdx-textarea-auto-resize]=\"autoResizeEnabled()\"\n [class.pdx-textarea-spellcheck]=\"metadata()?.spellcheck\"\n [class.pdx-textarea-code]=\"isCodeLikeMode()\"\n>\n <mat-label>\n <span\n [matTooltip]=\"metadata()?.description || null\"\n [matTooltipDisabled]=\"!metadata()?.description\"\n matTooltipPosition=\"above\"\n >\n {{ label }}\n </span>\n </mat-label>\n <!-- Optional prefix icon -->\n @if (metadata()?.prefixIcon) {\n <mat-icon\n matPrefix\n [matTooltip]=\"'Icon: ' + metadata()?.prefixIcon\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.prefixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.prefixIconColor)\"\n [praxisIcon]=\"metadata()?.prefixIcon\"\n ></mat-icon>\n }\n\n <textarea\n matInput\n [formControl]=\"control()\"\n [attr.placeholder]=\"shouldShowPlaceholder && placeholder ? placeholder : null\"\n [readonly]=\"isReadonlyEffective()\"\n [rows]=\"getRowsAttr()\"\n [cdkTextareaAutosize]=\"autoResizeEnabled()\"\n [cdkAutosizeMinRows]=\"getMinRowsAttr()\"\n [cdkAutosizeMaxRows]=\"getMaxRowsAttr()\"\n [maxlength]=\"metadata()?.maxLength || null\"\n [minlength]=\"metadata()?.minLength || null\"\n [attr.aria-describedby]=\"hasInlineFieldHelp() ? componentId() + '-hint' : null\"\n [attr.spellcheck]=\"effectiveSpellcheck() === null ? null : effectiveSpellcheck()\"\n [attr.wrap]=\"effectiveWrap()\"\n [attr.cols]=\"metadata()?.cols || null\"\n [style.resize]=\"metadata()?.resize || null\"\n [matTooltip]=\"tooltipEnabled() ? errorMessage() : null\"\n [matTooltipDisabled]=\"!(tooltipEnabled() && hasValidationError())\"\n [matTooltipPosition]=\"tooltipPosition()\"\n (focus)=\"onFocusLog()\"\n (blur)=\"onBlurLog()\"\n (input)=\"onInputLog($event)\"\n (paste)=\"onPaste($event)\"\n (cut)=\"onCut($event)\"\n (keydown)=\"onTextareaKeydown($event)\"\n ></textarea>\n <!-- Optional suffix icon -->\n @if (metadata()?.suffixIcon) {\n <mat-icon\n matSuffix\n [matTooltip]=\"metadata()?.suffixIconTooltip || ('Icon: ' + metadata()?.suffixIcon)\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.suffixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.suffixIconColor)\"\n [attr.aria-label]=\"metadata()?.suffixIconAriaLabel || null\"\n [praxisIcon]=\"metadata()?.suffixIcon\"\n ></mat-icon>\n }\n <!-- Optional clear button -->\n @if (showClear()) {\n <button\n mat-icon-button\n matSuffix\n type=\"button\"\n (click)=\"onClearClick()\"\n [disabled]=\"disabledMode || isReadonlyEffective() || presentationMode\"\n [matTooltip]=\"clearActionTooltip()\"\n matTooltipPosition=\"above\"\n [attr.aria-label]=\"clearActionAriaLabel()\"\n >\n <mat-icon\n [color]=\"iconPalette(metadata()?.clearButton?.iconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.clearButton?.iconColor)\"\n [praxisIcon]=\"metadata()?.clearButton?.icon || 'mi:clear'\"\n ></mat-icon>\n </button>\n }\n @if (fieldHelpPopoverText()) {\n <mat-icon\n matSuffix\n class=\"pdx-field-help-icon\"\n [matTooltip]=\"fieldHelpPopoverText()\"\n matTooltipPosition=\"above\"\n [matTooltipDisabled]=\"fieldHelpPopoverDisabled()\"\n [attr.aria-label]=\"fieldHelpAriaLabel()\"\n tabindex=\"0\"\n [praxisIcon]=\"'help_outline'\"\n ></mat-icon>\n }\n @if (hasInlineFieldHelp()) {\n <mat-hint [id]=\"componentId() + '-hint'\" align=\"start\">{{ fieldHelpInlineText() }}</mat-hint>\n }\n @if (showCharacterCount()) {\n <mat-hint align=\"end\" [class.pdx-character-count-warning]=\"isNearLimit()\" [class.pdx-character-count-error]=\"isAtOrOverLimit()\">\n {{ charCount }}/{{ metadata()?.maxLength }}\n </mat-hint>\n }\n @if (showStats()) {\n <mat-hint align=\"end\">{{ getWords() }} palavras \u2022 {{ getLines() }} linhas</mat-hint>\n }\n @if (hasValidationError()) {\n <mat-error>{{ errorMessage() }}</mat-error>\n }\n</mat-form-field>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;position:relative}:host.pdx-loading{pointer-events:none;opacity:.7}:host.pdx-error .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-focused .mat-mdc-form-field{--mdc-outlined-text-field-focused-outline-color: var(--md-sys-color-primary)}:host.pdx-dirty .mat-mdc-form-field-label:after{content:\" \\2022\";color:var(--md-sys-color-primary);font-weight:700}:host.pdx-valid.pdx-dirty .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-tertiary)}:host.pdx-invalid.pdx-touched .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-textarea-auto-resize .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix textarea{resize:none!important;overflow-y:hidden;transition:height .2s ease-out}:host.pdx-textarea-with-preview .mat-mdc-form-field{margin-bottom:16px}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-webkit-input-placeholder{font-style:italic}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-moz-placeholder{font-style:italic}:host.pdx-textarea-with-stats{margin-bottom:48px}.pdx-textarea-container{position:relative;width:100%}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:inherit;line-height:1.5}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar{width:8px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-track{background:var(--md-sys-color-surface-variant);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline-variant)}.mat-mdc-form-field .mat-mdc-form-field-suffix{display:flex;align-items:center;gap:4px}.mat-mdc-form-field.pdx-textarea-with-tabs{border-top:1px solid var(--md-sys-color-outline-variant);border-radius:0 0 4px 4px}:host.pdx-textarea-code .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;white-space:pre;word-break:normal;overflow-x:auto}.pdx-character-count-warning{color:var(--md-sys-color-secondary)}.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600}.pdx-textarea-tabs{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px 4px 0 0;margin-bottom:-1px}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid var(--md-sys-color-outline-variant)}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{padding:16px;min-height:200px}.pdx-textarea-preview-content{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:16px;min-height:120px;font-family:inherit;line-height:1.6}.pdx-textarea-preview-content .markdown-content h1,.pdx-textarea-preview-content .markdown-content h2,.pdx-textarea-preview-content .markdown-content h3,.pdx-textarea-preview-content .markdown-content h4,.pdx-textarea-preview-content .markdown-content h5,.pdx-textarea-preview-content .markdown-content h6{margin:16px 0 8px;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content h1:first-child,.pdx-textarea-preview-content .markdown-content h2:first-child,.pdx-textarea-preview-content .markdown-content h3:first-child,.pdx-textarea-preview-content .markdown-content h4:first-child,.pdx-textarea-preview-content .markdown-content h5:first-child,.pdx-textarea-preview-content .markdown-content h6:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content h1{font-size:1.5rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h2{font-size:1.3rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h3{font-size:1.1rem;font-weight:500}.pdx-textarea-preview-content .markdown-content p{margin:8px 0}.pdx-textarea-preview-content .markdown-content p:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content p:last-child{margin-bottom:0}.pdx-textarea-preview-content .markdown-content strong{font-weight:600;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content em{font-style:italic}.pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:3px;padding:2px 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.pdx-textarea-preview-content .markdown-content br{line-height:1.8}.pdx-templates-button,.pdx-preview-button,.pdx-auto-resize-button,.pdx-clear-button{width:32px;height:32px;line-height:32px;opacity:.7;transition:all .2s ease}.pdx-templates-button:hover,.pdx-preview-button:hover,.pdx-auto-resize-button:hover,.pdx-clear-button:hover{opacity:1;background:var(--md-sys-color-primary-container)}.pdx-templates-button .mat-icon,.pdx-preview-button .mat-icon,.pdx-auto-resize-button .mat-icon,.pdx-clear-button .mat-icon{font-size:18px;width:18px;height:18px}.pdx-templates-button.pdx-preview-active,.pdx-templates-button.pdx-auto-resize-active,.pdx-preview-button.pdx-preview-active,.pdx-preview-button.pdx-auto-resize-active,.pdx-auto-resize-button.pdx-preview-active,.pdx-auto-resize-button.pdx-auto-resize-active,.pdx-clear-button.pdx-preview-active,.pdx-clear-button.pdx-auto-resize-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-templates-menu .pdx-template-item{padding:12px 16px;line-height:1.4}.pdx-templates-menu .pdx-template-item .mat-icon{margin-right:12px;color:var(--md-sys-color-primary)}.pdx-templates-menu .pdx-template-item .pdx-template-info{display:flex;flex-direction:column}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-name{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-description{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;margin-top:2px}.pdx-templates-menu .pdx-template-item:hover{background:var(--md-sys-color-surface-variant)}.pdx-text-statistics{position:absolute;bottom:-44px;left:0;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:8px 12px}.pdx-text-statistics .pdx-stats-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-weight:600;font-size:.9rem;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.7rem;color:var(--md-sys-color-on-surface-variant);text-transform:lowercase;margin-top:2px}.pdx-preview-panel{margin-top:16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;background:var(--md-sys-color-surface)}.pdx-preview-panel .pdx-preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-variant)}.pdx-preview-panel .pdx-preview-header .pdx-preview-title{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector{display:flex;gap:4px}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button{width:32px;height:32px;opacity:.6;transition:all .2s ease}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button:hover{opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button .mat-icon{font-size:16px;width:16px;height:16px}.pdx-preview-panel .pdx-preview-content{padding:16px;min-height:120px;line-height:1.6}.mat-mdc-form-field-label{cursor:pointer;transition:all .2s ease}.mat-mdc-form-field-label:hover{color:var(--md-sys-color-primary)}.mat-mdc-form-field-label .pdx-required-marker{color:var(--md-sys-color-error);margin-left:2px;font-weight:700}.pdx-label-editor{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-primary);border-radius:4px;padding:4px 8px;font-size:inherit;font-family:inherit;color:inherit;outline:none;box-shadow:var(--md-sys-elevation-level1, var(--md-sys-elevation-level1))}.pdx-label-editor:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary)}.pdx-character-count{font-size:.75rem;font-variant-numeric:tabular-nums;transition:color .2s ease}.pdx-character-count.pdx-character-count-warning{color:var(--md-sys-color-secondary);font-weight:500}.pdx-character-count.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600;animation:pulse-error 1s ease-in-out}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}.pdx-error-message{display:flex;align-items:flex-start;gap:4px;font-size:.75rem;line-height:1.4;margin-top:4px}.pdx-error-message .pdx-error-icon{font-size:16px;width:16px;height:16px;margin-top:1px;color:var(--md-sys-color-error)}.pdx-error-message.pdx-additional-error{margin-top:2px;opacity:.8;font-size:.7rem}.pdx-additional-errors{margin-top:4px}.pdx-validation-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;color:var(--md-sys-color-primary);font-size:.75rem}.pdx-validation-loading .pdx-loading-spinner{font-size:16px;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdx-debug-info{position:absolute;top:-24px;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:4px;padding:2px 6px;font-size:.65rem;color:var(--md-sys-color-on-surface-variant);z-index:10}.pdx-debug-info .pdx-debug-security{display:block;font-family:monospace}.pdx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){:host .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: currentColor;--mdc-outlined-text-field-focused-outline-color: currentColor}:host .pdx-character-count.pdx-character-count-warning,:host .pdx-character-count.pdx-character-count-error{color:currentColor;font-weight:700}:host .pdx-text-statistics{border-color:currentColor}:host .pdx-text-statistics .pdx-stat-value{color:currentColor}}@media(prefers-reduced-motion:reduce){:host *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:host .pdx-label-editor{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}:host .pdx-debug-info{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}:host .pdx-text-statistics{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs,:host .pdx-preview-panel{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs .pdx-preview-header,:host .pdx-preview-panel .pdx-preview-header{background:var(--md-sys-color-surface-variant);border-bottom-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content .markdown-content h1,:host .pdx-textarea-preview-content .markdown-content h2,:host .pdx-textarea-preview-content .markdown-content h3,:host .pdx-textarea-preview-content .markdown-content h4,:host .pdx-textarea-preview-content .markdown-content h5,:host .pdx-textarea-preview-content .markdown-content h6{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content strong{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}}@media(max-width:599px){:host .pdx-text-statistics .pdx-stats-grid{gap:8px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:50px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.65rem}:host .pdx-textarea-tabs .mat-mdc-tab-body-wrapper{padding:8px;min-height:150px}:host .pdx-preview-panel .pdx-preview-content{padding:12px;min-height:100px}}@media(min-width:600px){:host .pdx-character-count{font-size:.8rem}:host .pdx-error-message{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:70px}}@media(min-width:1200px){:host.pdx-textarea-with-preview{display:flex;gap:16px}:host.pdx-textarea-with-preview .pdx-textarea-container{flex:1}:host.pdx-textarea-with-preview .pdx-preview-panel{flex:1;margin-top:0;height:fit-content}}\n"] }]
20437
+ }, template: "<mat-form-field\n [appearance]=\"materialAppearance()\"\n [color]=\"materialColor()\"\n [floatLabel]=\"floatLabelBehavior()\"\n [subscriptSizing]=\"metadata()?.materialDesign?.subscriptSizing || 'dynamic'\"\n [class.pdx-textarea-auto-resize]=\"autoResizeEnabled()\"\n [class.pdx-textarea-spellcheck]=\"metadata()?.spellcheck\"\n [class.pdx-textarea-code]=\"isCodeLikeMode()\"\n>\n <mat-label>\n <span\n [matTooltip]=\"metadata()?.description || null\"\n [matTooltipDisabled]=\"!metadata()?.description\"\n matTooltipPosition=\"above\"\n >\n {{ label }}\n </span>\n </mat-label>\n <!-- Optional prefix icon -->\n @if (metadata()?.prefixIcon) {\n <mat-icon\n matPrefix\n [matTooltip]=\"'Icon: ' + metadata()?.prefixIcon\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.prefixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.prefixIconColor)\"\n [praxisIcon]=\"metadata()?.prefixIcon\"\n ></mat-icon>\n }\n\n <textarea\n matInput\n [formControl]=\"control()\"\n [attr.placeholder]=\"shouldShowPlaceholder && placeholder ? placeholder : null\"\n [readonly]=\"isReadonlyEffective()\"\n [rows]=\"getRowsAttr()\"\n [cdkTextareaAutosize]=\"autoResizeEnabled()\"\n [cdkAutosizeMinRows]=\"getMinRowsAttr()\"\n [cdkAutosizeMaxRows]=\"getMaxRowsAttr()\"\n [maxlength]=\"metadata()?.maxLength || null\"\n [minlength]=\"metadata()?.minLength || null\"\n [attr.spellcheck]=\"effectiveSpellcheck() === null ? null : effectiveSpellcheck()\"\n [attr.wrap]=\"effectiveWrap()\"\n [attr.cols]=\"metadata()?.cols || null\"\n [style.resize]=\"metadata()?.resize || null\"\n [matTooltip]=\"tooltipEnabled() ? errorMessage() : null\"\n [matTooltipDisabled]=\"!(tooltipEnabled() && hasValidationError())\"\n [matTooltipPosition]=\"tooltipPosition()\"\n (focus)=\"onFocusLog()\"\n (blur)=\"onBlurLog()\"\n (input)=\"onInputLog($event)\"\n (paste)=\"onPaste($event)\"\n (cut)=\"onCut($event)\"\n (keydown)=\"onTextareaKeydown($event)\"\n ></textarea>\n <!-- Optional suffix icon -->\n @if (metadata()?.suffixIcon) {\n <mat-icon\n matSuffix\n [matTooltip]=\"metadata()?.suffixIconTooltip || ('Icon: ' + metadata()?.suffixIcon)\"\n matTooltipPosition=\"above\"\n [color]=\"iconPalette(metadata()?.suffixIconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.suffixIconColor)\"\n [attr.aria-label]=\"metadata()?.suffixIconAriaLabel || null\"\n [praxisIcon]=\"metadata()?.suffixIcon\"\n ></mat-icon>\n }\n <!-- Optional clear button -->\n @if (showClear()) {\n <button\n mat-icon-button\n matSuffix\n type=\"button\"\n (click)=\"onClearClick()\"\n [disabled]=\"disabledMode || isReadonlyEffective() || presentationMode\"\n [matTooltip]=\"clearActionTooltip()\"\n matTooltipPosition=\"above\"\n [attr.aria-label]=\"clearActionAriaLabel()\"\n >\n <mat-icon\n [color]=\"iconPalette(metadata()?.clearButton?.iconColor)\"\n [style.color]=\"iconCustomColor(metadata()?.clearButton?.iconColor)\"\n [praxisIcon]=\"metadata()?.clearButton?.icon || 'mi:clear'\"\n ></mat-icon>\n </button>\n }\n @if (fieldHelpPopoverText()) {\n <mat-icon\n matSuffix\n class=\"pdx-field-help-icon\"\n [matTooltip]=\"fieldHelpPopoverText()\"\n matTooltipPosition=\"above\"\n [matTooltipDisabled]=\"fieldHelpPopoverDisabled()\"\n [attr.aria-label]=\"fieldHelpAriaLabel()\"\n tabindex=\"0\"\n [praxisIcon]=\"'help_outline'\"\n ></mat-icon>\n }\n @if (hasInlineFieldHelp()) {\n <mat-hint [id]=\"componentId() + '-hint'\" align=\"start\">{{ fieldHelpInlineText() }}</mat-hint>\n }\n @if (showCharacterCount()) {\n <mat-hint align=\"end\" [class.pdx-character-count-warning]=\"isNearLimit()\" [class.pdx-character-count-error]=\"isAtOrOverLimit()\">\n {{ charCount }}/{{ metadata()?.maxLength }}\n </mat-hint>\n }\n @if (showStats()) {\n <mat-hint align=\"end\">{{ getWords() }} palavras \u2022 {{ getLines() }} linhas</mat-hint>\n }\n @if (hasValidationError()) {\n <mat-error>{{ errorMessage() }}</mat-error>\n }\n</mat-form-field>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;position:relative}:host.pdx-loading{pointer-events:none;opacity:.7}:host.pdx-error .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-focused .mat-mdc-form-field{--mdc-outlined-text-field-focused-outline-color: var(--md-sys-color-primary)}:host.pdx-dirty .mat-mdc-form-field-label:after{content:\" \\2022\";color:var(--md-sys-color-primary);font-weight:700}:host.pdx-valid.pdx-dirty .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-tertiary)}:host.pdx-invalid.pdx-touched .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--md-sys-color-error)}:host.pdx-textarea-auto-resize .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix textarea{resize:none!important;overflow-y:hidden;transition:height .2s ease-out}:host.pdx-textarea-with-preview .mat-mdc-form-field{margin-bottom:16px}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-webkit-input-placeholder{font-style:italic}:host.pdx-textarea-spellcheck .mat-mdc-text-field-wrapper textarea::-moz-placeholder{font-style:italic}:host.pdx-textarea-with-stats{margin-bottom:48px}.pdx-textarea-container{position:relative;width:100%}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:inherit;line-height:1.5}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar{width:8px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-track{background:var(--md-sys-color-surface-variant);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:4px}.mat-mdc-form-field .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline-variant)}.mat-mdc-form-field .mat-mdc-form-field-suffix{display:flex;align-items:center;gap:4px}.mat-mdc-form-field.pdx-textarea-with-tabs{border-top:1px solid var(--md-sys-color-outline-variant);border-radius:0 0 4px 4px}:host.pdx-textarea-code .mat-mdc-text-field-wrapper textarea.mat-mdc-input-element{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;white-space:pre;word-break:normal;overflow-x:auto}.pdx-character-count-warning{color:var(--md-sys-color-secondary)}.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600}.pdx-textarea-tabs{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px 4px 0 0;margin-bottom:-1px}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-header{border-bottom:1px solid var(--md-sys-color-outline-variant)}.pdx-textarea-tabs .mat-mdc-tab-group .mat-mdc-tab-body-wrapper{padding:16px;min-height:200px}.pdx-textarea-preview-content{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:16px;min-height:120px;font-family:inherit;line-height:1.6}.pdx-textarea-preview-content .markdown-content h1,.pdx-textarea-preview-content .markdown-content h2,.pdx-textarea-preview-content .markdown-content h3,.pdx-textarea-preview-content .markdown-content h4,.pdx-textarea-preview-content .markdown-content h5,.pdx-textarea-preview-content .markdown-content h6{margin:16px 0 8px;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content h1:first-child,.pdx-textarea-preview-content .markdown-content h2:first-child,.pdx-textarea-preview-content .markdown-content h3:first-child,.pdx-textarea-preview-content .markdown-content h4:first-child,.pdx-textarea-preview-content .markdown-content h5:first-child,.pdx-textarea-preview-content .markdown-content h6:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content h1{font-size:1.5rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h2{font-size:1.3rem;font-weight:600}.pdx-textarea-preview-content .markdown-content h3{font-size:1.1rem;font-weight:500}.pdx-textarea-preview-content .markdown-content p{margin:8px 0}.pdx-textarea-preview-content .markdown-content p:first-child{margin-top:0}.pdx-textarea-preview-content .markdown-content p:last-child{margin-bottom:0}.pdx-textarea-preview-content .markdown-content strong{font-weight:600;color:var(--md-sys-color-on-surface)}.pdx-textarea-preview-content .markdown-content em{font-style:italic}.pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:3px;padding:2px 4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.pdx-textarea-preview-content .markdown-content br{line-height:1.8}.pdx-templates-button,.pdx-preview-button,.pdx-auto-resize-button,.pdx-clear-button{width:32px;height:32px;line-height:32px;opacity:.7;transition:all .2s ease}.pdx-templates-button:hover,.pdx-preview-button:hover,.pdx-auto-resize-button:hover,.pdx-clear-button:hover{opacity:1;background:var(--md-sys-color-primary-container)}.pdx-templates-button .mat-icon,.pdx-preview-button .mat-icon,.pdx-auto-resize-button .mat-icon,.pdx-clear-button .mat-icon{font-size:18px;width:18px;height:18px}.pdx-templates-button.pdx-preview-active,.pdx-templates-button.pdx-auto-resize-active,.pdx-preview-button.pdx-preview-active,.pdx-preview-button.pdx-auto-resize-active,.pdx-auto-resize-button.pdx-preview-active,.pdx-auto-resize-button.pdx-auto-resize-active,.pdx-clear-button.pdx-preview-active,.pdx-clear-button.pdx-auto-resize-active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-templates-menu .pdx-template-item{padding:12px 16px;line-height:1.4}.pdx-templates-menu .pdx-template-item .mat-icon{margin-right:12px;color:var(--md-sys-color-primary)}.pdx-templates-menu .pdx-template-item .pdx-template-info{display:flex;flex-direction:column}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-name{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-templates-menu .pdx-template-item .pdx-template-info .pdx-template-description{color:var(--md-sys-color-on-surface-variant);font-size:.75rem;margin-top:2px}.pdx-templates-menu .pdx-template-item:hover{background:var(--md-sys-color-surface-variant)}.pdx-text-statistics{position:absolute;bottom:-44px;left:0;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:8px 12px}.pdx-text-statistics .pdx-stats-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-weight:600;font-size:.9rem;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}.pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.7rem;color:var(--md-sys-color-on-surface-variant);text-transform:lowercase;margin-top:2px}.pdx-preview-panel{margin-top:16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;background:var(--md-sys-color-surface)}.pdx-preview-panel .pdx-preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-variant)}.pdx-preview-panel .pdx-preview-header .pdx-preview-title{font-weight:500;color:var(--md-sys-color-on-surface)}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector{display:flex;gap:4px}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button{width:32px;height:32px;opacity:.6;transition:all .2s ease}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary);opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button:hover{opacity:1}.pdx-preview-panel .pdx-preview-header .pdx-preview-mode-selector button .mat-icon{font-size:16px;width:16px;height:16px}.pdx-preview-panel .pdx-preview-content{padding:16px;min-height:120px;line-height:1.6}.mat-mdc-form-field-label{cursor:pointer;transition:all .2s ease}.mat-mdc-form-field-label:hover{color:var(--md-sys-color-primary)}.mat-mdc-form-field-label .pdx-required-marker{color:var(--md-sys-color-error);margin-left:2px;font-weight:700}.pdx-label-editor{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-primary);border-radius:4px;padding:4px 8px;font-size:inherit;font-family:inherit;color:inherit;outline:none;box-shadow:var(--md-sys-elevation-level1, var(--md-sys-elevation-level1))}.pdx-label-editor:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px var(--md-sys-color-primary)}.pdx-character-count{font-size:.75rem;font-variant-numeric:tabular-nums;transition:color .2s ease}.pdx-character-count.pdx-character-count-warning{color:var(--md-sys-color-secondary);font-weight:500}.pdx-character-count.pdx-character-count-error{color:var(--md-sys-color-error);font-weight:600;animation:pulse-error 1s ease-in-out}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}.pdx-error-message{display:flex;align-items:flex-start;gap:4px;font-size:.75rem;line-height:1.4;margin-top:4px}.pdx-error-message .pdx-error-icon{font-size:16px;width:16px;height:16px;margin-top:1px;color:var(--md-sys-color-error)}.pdx-error-message.pdx-additional-error{margin-top:2px;opacity:.8;font-size:.7rem}.pdx-additional-errors{margin-top:4px}.pdx-validation-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;color:var(--md-sys-color-primary);font-size:.75rem}.pdx-validation-loading .pdx-loading-spinner{font-size:16px;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdx-debug-info{position:absolute;top:-24px;right:0;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:4px;padding:2px 6px;font-size:.65rem;color:var(--md-sys-color-on-surface-variant);z-index:10}.pdx-debug-info .pdx-debug-security{display:block;font-family:monospace}.pdx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){:host .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: currentColor;--mdc-outlined-text-field-focused-outline-color: currentColor}:host .pdx-character-count.pdx-character-count-warning,:host .pdx-character-count.pdx-character-count-error{color:currentColor;font-weight:700}:host .pdx-text-statistics{border-color:currentColor}:host .pdx-text-statistics .pdx-stat-value{color:currentColor}}@media(prefers-reduced-motion:reduce){:host *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){:host .pdx-label-editor{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}:host .pdx-debug-info{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}:host .pdx-text-statistics{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs,:host .pdx-preview-panel{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-tabs .pdx-preview-header,:host .pdx-preview-panel .pdx-preview-header{background:var(--md-sys-color-surface-variant);border-bottom-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content{background:var(--md-sys-color-surface);border-color:var(--md-sys-color-outline)}:host .pdx-textarea-preview-content .markdown-content h1,:host .pdx-textarea-preview-content .markdown-content h2,:host .pdx-textarea-preview-content .markdown-content h3,:host .pdx-textarea-preview-content .markdown-content h4,:host .pdx-textarea-preview-content .markdown-content h5,:host .pdx-textarea-preview-content .markdown-content h6{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content strong{color:var(--md-sys-color-on-surface)}:host .pdx-textarea-preview-content .markdown-content code{background:var(--md-sys-color-surface-variant);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}}@media(max-width:599px){:host .pdx-text-statistics .pdx-stats-grid{gap:8px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:50px}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-value{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item .pdx-stat-label{font-size:.65rem}:host .pdx-textarea-tabs .mat-mdc-tab-body-wrapper{padding:8px;min-height:150px}:host .pdx-preview-panel .pdx-preview-content{padding:12px;min-height:100px}}@media(min-width:600px){:host .pdx-character-count{font-size:.8rem}:host .pdx-error-message{font-size:.8rem}:host .pdx-text-statistics .pdx-stats-grid .pdx-stat-item{min-width:70px}}@media(min-width:1200px){:host.pdx-textarea-with-preview{display:flex;gap:16px}:host.pdx-textarea-with-preview .pdx-textarea-container{flex:1}:host.pdx-textarea-with-preview .pdx-preview-panel{flex:1;margin-top:0;height:fit-content}}\n"] }]
20421
20438
  }], propDecorators: { readonlyMode: [{
20422
20439
  type: Input
20423
20440
  }], disabledMode: [{
@@ -20574,7 +20591,7 @@ class NumberInputComponent extends SimpleBaseInputComponent {
20574
20591
  [color]="materialColor()"
20575
20592
  [class]="componentCssClasses()"
20576
20593
  [floatLabel]="floatLabelBehavior()"
20577
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
20594
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
20578
20595
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
20579
20596
  >
20580
20597
  <mat-label>{{ label }}</mat-label>
@@ -20666,7 +20683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
20666
20683
  [color]="materialColor()"
20667
20684
  [class]="componentCssClasses()"
20668
20685
  [floatLabel]="floatLabelBehavior()"
20669
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
20686
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
20670
20687
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
20671
20688
  >
20672
20689
  <mat-label>{{ label }}</mat-label>
@@ -21057,7 +21074,7 @@ class PhoneInputComponent extends SimpleBaseInputComponent {
21057
21074
  [color]="materialColor()"
21058
21075
  [class]="componentCssClasses()"
21059
21076
  [floatLabel]="floatLabelBehavior()"
21060
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
21077
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
21061
21078
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
21062
21079
  >
21063
21080
  <mat-label>{{ label }}</mat-label>
@@ -21138,7 +21155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
21138
21155
  [color]="materialColor()"
21139
21156
  [class]="componentCssClasses()"
21140
21157
  [floatLabel]="floatLabelBehavior()"
21141
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
21158
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
21142
21159
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
21143
21160
  >
21144
21161
  <mat-label>{{ label }}</mat-label>
@@ -21427,7 +21444,7 @@ class TextInputComponent extends SimpleBaseInputComponent {
21427
21444
  floatLabel="auto"
21428
21445
  [class]="componentCssClasses()"
21429
21446
  [floatLabel]="floatLabelBehavior()"
21430
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
21447
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
21431
21448
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
21432
21449
  >
21433
21450
  <mat-label>{{ label }}</mat-label>
@@ -21529,7 +21546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
21529
21546
  floatLabel="auto"
21530
21547
  [class]="componentCssClasses()"
21531
21548
  [floatLabel]="floatLabelBehavior()"
21532
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
21549
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
21533
21550
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
21534
21551
  >
21535
21552
  <mat-label>{{ label }}</mat-label>
@@ -22655,7 +22672,7 @@ class ColorInputComponent extends SimpleBaseInputComponent {
22655
22672
  [color]="materialColor()"
22656
22673
  [class]="componentCssClasses()"
22657
22674
  [floatLabel]="effectiveFloatLabelBehavior()"
22658
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
22675
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
22659
22676
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
22660
22677
  >
22661
22678
  <mat-label>{{ label }}</mat-label>
@@ -22792,7 +22809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
22792
22809
  [color]="materialColor()"
22793
22810
  [class]="componentCssClasses()"
22794
22811
  [floatLabel]="effectiveFloatLabelBehavior()"
22795
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
22812
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
22796
22813
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
22797
22814
  >
22798
22815
  <mat-label>{{ label }}</mat-label>
@@ -23037,7 +23054,7 @@ class DateInputComponent extends SimpleBaseInputComponent {
23037
23054
  [color]="materialColor()"
23038
23055
  [class]="componentCssClasses()"
23039
23056
  [floatLabel]="floatLabelBehavior()"
23040
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23057
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23041
23058
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23042
23059
  >
23043
23060
  <mat-label>{{ label }}</mat-label>
@@ -23118,7 +23135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
23118
23135
  [color]="materialColor()"
23119
23136
  [class]="componentCssClasses()"
23120
23137
  [floatLabel]="floatLabelBehavior()"
23121
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23138
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23122
23139
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23123
23140
  >
23124
23141
  <mat-label>{{ label }}</mat-label>
@@ -23338,7 +23355,7 @@ class DatetimeLocalInputComponent extends SimpleBaseInputComponent {
23338
23355
  [color]="materialColor()"
23339
23356
  [class]="componentCssClasses()"
23340
23357
  [floatLabel]="floatLabelBehavior()"
23341
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23358
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23342
23359
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23343
23360
  >
23344
23361
  <mat-label>{{ label }}</mat-label>
@@ -23420,7 +23437,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
23420
23437
  [color]="materialColor()"
23421
23438
  [class]="componentCssClasses()"
23422
23439
  [floatLabel]="floatLabelBehavior()"
23423
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23440
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23424
23441
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23425
23442
  >
23426
23443
  <mat-label>{{ label }}</mat-label>
@@ -23589,7 +23606,7 @@ class EmailInputComponent extends SimpleBaseInputComponent {
23589
23606
  [color]="materialColor()"
23590
23607
  [class]="componentCssClasses()"
23591
23608
  [floatLabel]="floatLabelBehavior()"
23592
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23609
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23593
23610
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23594
23611
  >
23595
23612
  <mat-label>{{ label }}</mat-label>
@@ -23672,7 +23689,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
23672
23689
  [color]="materialColor()"
23673
23690
  [class]="componentCssClasses()"
23674
23691
  [floatLabel]="floatLabelBehavior()"
23675
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
23692
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
23676
23693
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
23677
23694
  >
23678
23695
  <mat-label>{{ label }}</mat-label>
@@ -24318,7 +24335,7 @@ class MaterialCurrencyComponent extends SimpleBaseInputComponent {
24318
24335
  [color]="materialColor()"
24319
24336
  [class]="componentCssClasses()"
24320
24337
  [floatLabel]="floatLabelBehavior()"
24321
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
24338
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
24322
24339
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
24323
24340
  >
24324
24341
  @if (label) {
@@ -24412,7 +24429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
24412
24429
  [color]="materialColor()"
24413
24430
  [class]="componentCssClasses()"
24414
24431
  [floatLabel]="floatLabelBehavior()"
24415
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
24432
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
24416
24433
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
24417
24434
  >
24418
24435
  @if (label) {
@@ -24732,7 +24749,7 @@ class MaterialCpfCnpjInputComponent extends SimpleBaseInputComponent {
24732
24749
  [color]="materialColor()"
24733
24750
  [floatLabel]="floatLabelBehavior()"
24734
24751
  [class]="componentCssClasses()"
24735
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
24752
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
24736
24753
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
24737
24754
  >
24738
24755
  <mat-label>{{ label }}</mat-label>
@@ -24812,7 +24829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
24812
24829
  [color]="materialColor()"
24813
24830
  [floatLabel]="floatLabelBehavior()"
24814
24831
  [class]="componentCssClasses()"
24815
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
24832
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
24816
24833
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
24817
24834
  >
24818
24835
  <mat-label>{{ label }}</mat-label>
@@ -25524,7 +25541,7 @@ class MonthInputComponent extends SimpleBaseInputComponent {
25524
25541
  [color]="materialColor()"
25525
25542
  [class]="componentCssClasses()"
25526
25543
  [floatLabel]="floatLabelBehavior()"
25527
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
25544
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
25528
25545
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
25529
25546
  >
25530
25547
  <mat-label>{{ label }}</mat-label>
@@ -25606,7 +25623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
25606
25623
  [color]="materialColor()"
25607
25624
  [class]="componentCssClasses()"
25608
25625
  [floatLabel]="floatLabelBehavior()"
25609
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
25626
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
25610
25627
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
25611
25628
  >
25612
25629
  <mat-label>{{ label }}</mat-label>
@@ -25801,7 +25818,7 @@ class PasswordInputComponent extends SimpleBaseInputComponent {
25801
25818
  [color]="materialColor()"
25802
25819
  [class]="componentCssClasses()"
25803
25820
  [floatLabel]="floatLabelBehavior()"
25804
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
25821
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
25805
25822
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
25806
25823
  >
25807
25824
  <mat-label>{{ label }}</mat-label>
@@ -25900,7 +25917,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
25900
25917
  [color]="materialColor()"
25901
25918
  [class]="componentCssClasses()"
25902
25919
  [floatLabel]="floatLabelBehavior()"
25903
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
25920
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
25904
25921
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
25905
25922
  >
25906
25923
  <mat-label>{{ label }}</mat-label>
@@ -26083,7 +26100,7 @@ class SearchInputComponent extends SimpleBaseInputComponent {
26083
26100
  [color]="materialColor()"
26084
26101
  [class]="componentCssClasses()"
26085
26102
  [floatLabel]="floatLabelBehavior()"
26086
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
26103
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
26087
26104
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
26088
26105
  >
26089
26106
  <mat-label>{{ label }}</mat-label>
@@ -26165,7 +26182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
26165
26182
  [color]="materialColor()"
26166
26183
  [class]="componentCssClasses()"
26167
26184
  [floatLabel]="floatLabelBehavior()"
26168
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
26185
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
26169
26186
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
26170
26187
  >
26171
26188
  <mat-label>{{ label }}</mat-label>
@@ -27135,7 +27152,7 @@ class MaterialSearchableSelectComponent extends SimpleBaseSelectComponent {
27135
27152
  [color]="materialColor()"
27136
27153
  [class]="componentCssClasses()"
27137
27154
  [floatLabel]="floatLabelBehavior()"
27138
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
27155
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
27139
27156
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
27140
27157
  >
27141
27158
  <mat-label>{{ label }}</mat-label>
@@ -27344,7 +27361,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
27344
27361
  [color]="materialColor()"
27345
27362
  [class]="componentCssClasses()"
27346
27363
  [floatLabel]="floatLabelBehavior()"
27347
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
27364
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
27348
27365
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
27349
27366
  >
27350
27367
  <mat-label>{{ label }}</mat-label>
@@ -29913,7 +29930,7 @@ class MaterialAutocompleteComponent extends SimpleBaseSelectComponent {
29913
29930
  [color]="materialColor()"
29914
29931
  [class]="componentCssClasses()"
29915
29932
  [floatLabel]="floatLabelBehavior()"
29916
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
29933
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
29917
29934
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
29918
29935
  >
29919
29936
  <mat-label>{{ label }}</mat-label>
@@ -30038,7 +30055,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
30038
30055
  [color]="materialColor()"
30039
30056
  [class]="componentCssClasses()"
30040
30057
  [floatLabel]="floatLabelBehavior()"
30041
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
30058
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
30042
30059
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
30043
30060
  >
30044
30061
  <mat-label>{{ label }}</mat-label>
@@ -39588,7 +39605,7 @@ class MaterialTimepickerComponent extends SimpleBaseInputComponent {
39588
39605
  [color]="materialColor()"
39589
39606
  [class]="componentCssClasses()"
39590
39607
  [floatLabel]="floatLabelBehavior()"
39591
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
39608
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
39592
39609
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
39593
39610
  >
39594
39611
  <mat-label>{{ label }}</mat-label>
@@ -39667,7 +39684,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
39667
39684
  [color]="materialColor()"
39668
39685
  [class]="componentCssClasses()"
39669
39686
  [floatLabel]="floatLabelBehavior()"
39670
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
39687
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
39671
39688
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
39672
39689
  >
39673
39690
  <mat-label>{{ label }}</mat-label>
@@ -53312,7 +53329,7 @@ class MaterialMultiSelectComponent extends SimpleBaseSelectComponent {
53312
53329
  [color]="materialColor()"
53313
53330
  [class]="componentCssClasses()"
53314
53331
  [floatLabel]="floatLabelBehavior()"
53315
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
53332
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
53316
53333
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
53317
53334
  >
53318
53335
  <mat-label>{{ label }}</mat-label>
@@ -53417,7 +53434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
53417
53434
  [color]="materialColor()"
53418
53435
  [class]="componentCssClasses()"
53419
53436
  [floatLabel]="floatLabelBehavior()"
53420
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
53437
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
53421
53438
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
53422
53439
  >
53423
53440
  <mat-label>{{ label }}</mat-label>
@@ -54689,7 +54706,7 @@ class MaterialChipsComponent extends SimpleBaseSelectComponent {
54689
54706
  [color]="materialColor()"
54690
54707
  [class]="componentCssClasses()"
54691
54708
  [floatLabel]="floatLabelBehavior()"
54692
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
54709
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
54693
54710
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
54694
54711
  >
54695
54712
  <mat-label>{{ label }}</mat-label>
@@ -54813,7 +54830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
54813
54830
  [color]="materialColor()"
54814
54831
  [class]="componentCssClasses()"
54815
54832
  [floatLabel]="floatLabelBehavior()"
54816
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
54833
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
54817
54834
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
54818
54835
  >
54819
54836
  <mat-label>{{ label }}</mat-label>
@@ -56753,7 +56770,7 @@ class TimeInputComponent extends SimpleBaseInputComponent {
56753
56770
  [color]="materialColor()"
56754
56771
  [class]="componentCssClasses()"
56755
56772
  [floatLabel]="floatLabelBehavior()"
56756
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
56773
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
56757
56774
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
56758
56775
  >
56759
56776
  <mat-label>{{ label }}</mat-label>
@@ -56835,7 +56852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
56835
56852
  [color]="materialColor()"
56836
56853
  [class]="componentCssClasses()"
56837
56854
  [floatLabel]="floatLabelBehavior()"
56838
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
56855
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
56839
56856
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
56840
56857
  >
56841
56858
  <mat-label>{{ label }}</mat-label>
@@ -57005,7 +57022,7 @@ class UrlInputComponent extends SimpleBaseInputComponent {
57005
57022
  [color]="materialColor()"
57006
57023
  [class]="componentCssClasses()"
57007
57024
  [floatLabel]="floatLabelBehavior()"
57008
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57025
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57009
57026
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57010
57027
  >
57011
57028
  <mat-label>{{ label }}</mat-label>
@@ -57089,7 +57106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
57089
57106
  [color]="materialColor()"
57090
57107
  [class]="componentCssClasses()"
57091
57108
  [floatLabel]="floatLabelBehavior()"
57092
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57109
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57093
57110
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57094
57111
  >
57095
57112
  <mat-label>{{ label }}</mat-label>
@@ -57259,7 +57276,7 @@ class WeekInputComponent extends SimpleBaseInputComponent {
57259
57276
  [color]="materialColor()"
57260
57277
  [class]="componentCssClasses()"
57261
57278
  [floatLabel]="floatLabelBehavior()"
57262
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57279
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57263
57280
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57264
57281
  >
57265
57282
  <mat-label>{{ label }}</mat-label>
@@ -57341,7 +57358,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
57341
57358
  [color]="materialColor()"
57342
57359
  [class]="componentCssClasses()"
57343
57360
  [floatLabel]="floatLabelBehavior()"
57344
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57361
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57345
57362
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57346
57363
  >
57347
57364
  <mat-label>{{ label }}</mat-label>
@@ -57589,7 +57606,7 @@ class MaterialColorPickerComponent extends SimpleBaseInputComponent {
57589
57606
  [color]="materialColor()"
57590
57607
  [class]="componentCssClasses()"
57591
57608
  [floatLabel]="effectiveFloatLabelBehavior()"
57592
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57609
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57593
57610
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57594
57611
  >
57595
57612
  <mat-label>{{ label }}</mat-label>
@@ -57676,7 +57693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
57676
57693
  [color]="materialColor()"
57677
57694
  [class]="componentCssClasses()"
57678
57695
  [floatLabel]="effectiveFloatLabelBehavior()"
57679
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
57696
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
57680
57697
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
57681
57698
  >
57682
57699
  <mat-label>{{ label }}</mat-label>
@@ -59054,7 +59071,7 @@ class PdxColorPickerComponent extends SimpleBaseInputComponent {
59054
59071
  [color]="materialColor()"
59055
59072
  [class]="componentCssClasses()"
59056
59073
  [floatLabel]="effectiveFloatLabelBehavior()"
59057
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
59074
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
59058
59075
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
59059
59076
  >
59060
59077
  <mat-label>{{ label }}</mat-label>
@@ -59242,7 +59259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
59242
59259
  [color]="materialColor()"
59243
59260
  [class]="componentCssClasses()"
59244
59261
  [floatLabel]="effectiveFloatLabelBehavior()"
59245
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
59262
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
59246
59263
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
59247
59264
  >
59248
59265
  <mat-label>{{ label }}</mat-label>
@@ -60868,7 +60885,7 @@ class PdxYearInputComponent extends SimpleBaseInputComponent {
60868
60885
  [color]="materialColor()"
60869
60886
  [class]="componentCssClasses()"
60870
60887
  [floatLabel]="floatLabelBehavior()"
60871
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
60888
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
60872
60889
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
60873
60890
  >
60874
60891
  <mat-label>{{ label }}</mat-label>
@@ -60951,7 +60968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
60951
60968
  [color]="materialColor()"
60952
60969
  [class]="componentCssClasses()"
60953
60970
  [floatLabel]="floatLabelBehavior()"
60954
- [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'fixed'"
60971
+ [subscriptSizing]="metadata()?.materialDesign?.subscriptSizing || 'dynamic'"
60955
60972
  [hideRequiredMarker]="metadata()?.materialDesign?.hideRequiredMarker || false"
60956
60973
  >
60957
60974
  <mat-label>{{ label }}</mat-label>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-fields",
3
- "version": "9.0.0-beta.88",
3
+ "version": "9.0.0-beta.90",
4
4
  "description": "Angular Material-based dynamic form fields for Praxis UI with lazy loading and metadata-driven rendering.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -11,8 +11,8 @@
11
11
  "@angular/platform-browser": "^21.0.0",
12
12
  "@angular/router": "^21.0.0",
13
13
  "rxjs": "^7.8.0",
14
- "@praxisui/core": "^9.0.0-beta.88",
15
- "@praxisui/cron-builder": "^9.0.0-beta.88"
14
+ "@praxisui/core": "^9.0.0-beta.90",
15
+ "@praxisui/cron-builder": "^9.0.0-beta.90"
16
16
  },
17
17
  "dependencies": {
18
18
  "libphonenumber-js": "^1.12.41",
@@ -2937,6 +2937,7 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
2937
2937
  hasSelection(): boolean;
2938
2938
  selectedCount(): number;
2939
2939
  displayText(): string;
2940
+ private hasPendingLocalSelection;
2940
2941
  richLayoutEnabled(): boolean;
2941
2942
  selectedCardLayout(): boolean;
2942
2943
  selectedCompactLayout(): boolean;