@praxisui/dynamic-fields 9.0.0-beta.21 → 9.0.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/ai/component-registry.json +2 -2
- package/docs/dynamic-fields-field-selection-guide.md +27 -3
- package/docs/dynamic-fields-inline-components-guide.md +5 -5
- package/fesm2022/praxisui-dynamic-fields.mjs +293 -72
- package/package.json +3 -3
- package/src/lib/base/pdx-base-input-runtime-contract.json-api.md +16 -0
- package/types/praxisui-dynamic-fields.d.ts +8 -1
package/README.md
CHANGED
|
@@ -166,6 +166,8 @@ Presentation formatting resolves locale in this order: `field.localization.local
|
|
|
166
166
|
|
|
167
167
|
Presentation mode can also consume `field.presentation` and `field.presentationRules` for semantic readonly display states such as status, chip, badge, icon+value, tone, icon, label, badge, tooltip, and appearance. `presentationRules` use canonical Json Logic and must only produce semantic display patches; they do not mutate the `FormControl`, submit payload, or execute arbitrary actions.
|
|
168
168
|
|
|
169
|
+
For compact enterprise indicators, `field.presentation.presenter = 'microVisualization'` renders the canonical `presentation.visualization` contract in pure presentation mode. The dynamic-fields runtime owns this compact HTML renderer so forms, lists, and tables can share the same metadata without depending on chart components for virtualized or readonly cells. Use it for small comparison, stacked bar, bullet, and delta indicators; use `@praxisui/charts` when the host needs a richer chart widget outside the field presentation pipeline.
|
|
170
|
+
|
|
169
171
|
Runtime support for these metadata paths is canonical. Visual editor coverage is a separate layer and should be verified before claiming authoring parity.
|
|
170
172
|
|
|
171
173
|
## Inline Filters
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-06-
|
|
3
|
+
"generatedAt": "2026-06-30T12:05:08.567Z",
|
|
4
4
|
"packageName": "@praxisui/dynamic-fields",
|
|
5
|
-
"packageVersion": "9.0.0-beta.
|
|
5
|
+
"packageVersion": "9.0.0-beta.25",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 76,
|
|
@@ -37,7 +37,7 @@ keywords:
|
|
|
37
37
|
- "select vs autocomplete"
|
|
38
38
|
- "custom host field"
|
|
39
39
|
- "inline filter"
|
|
40
|
-
last_updated: "2026-06-
|
|
40
|
+
last_updated: "2026-06-25"
|
|
41
41
|
---
|
|
42
42
|
|
|
43
43
|
# Dynamic Fields Field Selection Guide
|
|
@@ -187,7 +187,29 @@ Se o caso e filtro corporativo compacto, consulte:
|
|
|
187
187
|
- [Dynamic Fields Inline Filter Catalog](./dynamic-fields-inline-filter-catalog.md)
|
|
188
188
|
- [Dynamic Fields Inline Components Guide](./dynamic-fields-inline-components-guide.md)
|
|
189
189
|
|
|
190
|
-
## 6.
|
|
190
|
+
## 6. Presentation mode vs chart widget
|
|
191
|
+
|
|
192
|
+
`presentation.presenter = 'microVisualization'` nao e um `controlType`. Use esse presenter quando o campo ja tem valor no `FormControl`, mas a surface readonly precisa mostrar um indicador compacto e escaneavel.
|
|
193
|
+
|
|
194
|
+
Use `microVisualization` quando:
|
|
195
|
+
|
|
196
|
+
- a surface e `form-presentation`, `table-cell`, `list-item`, `object-header` ou `card-summary`;
|
|
197
|
+
- a leitura precisa caber em celula, linha, drawer ou detalhe compacto;
|
|
198
|
+
- o indicador e pequeno, como `comparison`, `stackedBar`, `bullet` ou `delta`;
|
|
199
|
+
- a mesma semantica deve ser dirigida por `presentationRules` e Json Logic sem mutar o valor do campo.
|
|
200
|
+
|
|
201
|
+
Use `@praxisui/charts` quando:
|
|
202
|
+
|
|
203
|
+
- o usuario precisa interagir com grafico, legenda, tooltip analitico ou drilldown;
|
|
204
|
+
- o grafico ocupa card, dashboard, cockpit ou modal dedicado;
|
|
205
|
+
- a visualizacao depende de series maiores, eixos, zoom ou agregacoes vindas de endpoint analitico.
|
|
206
|
+
|
|
207
|
+
Use `rich-content` quando:
|
|
208
|
+
|
|
209
|
+
- o bloco mistura timeline, record summary, property sheet, progresso, badges e textos;
|
|
210
|
+
- a surface de detalhe precisa composicao editorial, nao apenas um valor de campo.
|
|
211
|
+
|
|
212
|
+
## 7. Decision table
|
|
191
213
|
|
|
192
214
|
| Question | Prefer |
|
|
193
215
|
| --- | --- |
|
|
@@ -211,12 +233,14 @@ Se o caso e filtro corporativo compacto, consulte:
|
|
|
211
233
|
| ha uma colecao repetivel de objetos? | `array` |
|
|
212
234
|
| ha anexos? | `upload` |
|
|
213
235
|
| o controle e acao, nao dado? | `button` |
|
|
236
|
+
| o valor readonly precisa de indicador compacto em celula/lista/formulario? | `presentation.presenter = "microVisualization"` |
|
|
214
237
|
| nada do catalogo resolve sem gambiarra? | field custom do host |
|
|
215
238
|
|
|
216
|
-
##
|
|
239
|
+
## 8. Enterprise recommendations
|
|
217
240
|
|
|
218
241
|
- prefira nomes canonicos de `controlType`; deixe aliases apenas para compatibilidade;
|
|
219
242
|
- nao use inline filter controls em formularios normais para “economizar espaco”;
|
|
243
|
+
- nao crie `controlType` local para indicadores readonly; use `presentation.presenter` e `presentation.visualization` quando a semantica for de apresentacao;
|
|
220
244
|
- para campos remotos, explicite origem de dados e comportamento de busca;
|
|
221
245
|
- para entidades de negocio, use `entityLookup` com `optionSource.type = RESOURCE_ENTITY`, `byIds`, `dependsOn`, `dependencyFilterMap` e `selectionPolicy` quando a selecao depender de status, permissao ou contexto;
|
|
222
246
|
- para colecoes repetiveis, use `array` com `array.itemSchema.fields` em vez de criar campos numerados como `item1`, `item2`, `item3`;
|
|
@@ -308,15 +308,15 @@ Fonte de verdade: `projects/praxis-metadata-editor/src/lib/config/*.config.ts`.
|
|
|
308
308
|
|
|
309
309
|
#### `select.config.ts`
|
|
310
310
|
|
|
311
|
-
`label, defaultValue, placeholder, hint, prefix, suffix, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, panelSearchIcon, panelSearchIconColor, panelResetIcon, panelResetIconColor, optionSelectedIcon, optionSelectedIconColor, options, emptyOptionText, multiple, optionLabelKey, optionValueKey, lookupIdKey, lookupLabelKey, lookupSubtitleKey, resourcePath, loadOn, filterCriteria, dependencyFields, resetOnDependentChange, enableDependencyCascade, dependencyFilterMap, dependencyValuePath, dependencyMergeStrategy, dependencyDebounceMs, dependencyLoadOnChange, selectAll, searchable, searchPlaceholder, maxSelections, required, validators.requiredMessage, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes`
|
|
311
|
+
`label, defaultValue, placeholder, hint, helpText, helpDisplay, helpInlineMaxLength, prefix, suffix, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, panelSearchIcon, panelSearchIconColor, panelResetIcon, panelResetIconColor, optionSelectedIcon, optionSelectedIconColor, options, emptyOptionText, multiple, optionLabelKey, optionValueKey, lookupIdKey, lookupLabelKey, lookupSubtitleKey, resourcePath, loadOn, filterCriteria, dependencyFields, resetOnDependentChange, enableDependencyCascade, dependencyFilterMap, dependencyValuePath, dependencyMergeStrategy, dependencyDebounceMs, dependencyLoadOnChange, selectAll, searchable, searchPlaceholder, maxSelections, required, validators.requiredMessage, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes`
|
|
312
312
|
|
|
313
313
|
#### `input.config.ts`
|
|
314
314
|
|
|
315
|
-
`label, placeholder, hint, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, prefix, suffix, showCharacterCount, required, minLength, maxLength, pattern, validators.requiredMessage, validators.minLengthMessage, validators.maxLengthMessage, validators.patternMessage, mask, textTransform, textTransformApply, autocomplete, spellcheck, disabled, readonly, inputMode, autoFocus, inputType, validators.validationTrigger, validators.validationDebounce, validators.showInlineErrors, validators.errorPosition, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, disabledInteractive, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes, defaultValue`
|
|
315
|
+
`label, placeholder, hint, helpText, helpDisplay, helpInlineMaxLength, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, prefix, suffix, showCharacterCount, required, minLength, maxLength, pattern, validators.requiredMessage, validators.minLengthMessage, validators.maxLengthMessage, validators.patternMessage, mask, textTransform, textTransformApply, autocomplete, spellcheck, disabled, readonly, inputMode, autoFocus, inputType, validators.validationTrigger, validators.validationDebounce, validators.showInlineErrors, validators.errorPosition, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, disabledInteractive, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes, defaultValue`
|
|
316
316
|
|
|
317
317
|
#### `number.config.ts`
|
|
318
318
|
|
|
319
|
-
`label, placeholder, defaultValue, hint, prefix, suffix, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, step, numberFormat.decimalPlaces, showGrouping, inputMode, autocomplete, spellcheck, readonly, disabled, autoFocus, validators.validationTrigger, validators.validationDebounce, validators.showInlineErrors, validators.errorPosition, required, min, max, validators.requiredMessage, validators.minMessage, validators.maxMessage, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes`
|
|
319
|
+
`label, placeholder, defaultValue, hint, helpText, helpDisplay, helpInlineMaxLength, prefix, suffix, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, step, numberFormat.decimalPlaces, showGrouping, inputMode, autocomplete, spellcheck, readonly, disabled, autoFocus, validators.validationTrigger, validators.validationDebounce, validators.showInlineErrors, validators.errorPosition, required, min, max, validators.requiredMessage, validators.minMessage, validators.maxMessage, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes`
|
|
320
320
|
|
|
321
321
|
#### `currency.config.ts`
|
|
322
322
|
|
|
@@ -324,7 +324,7 @@ Fonte de verdade: `projects/praxis-metadata-editor/src/lib/config/*.config.ts`.
|
|
|
324
324
|
|
|
325
325
|
#### `date.config.ts`
|
|
326
326
|
|
|
327
|
-
`label, defaultValue, placeholder, hint, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, prefix, suffix, required, minDate, maxDate, validators.requiredMessage, validators.minMessage, validators.maxMessage, startView, startAt, touchUi, closeOnSelect, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled`
|
|
327
|
+
`label, defaultValue, placeholder, hint, helpText, helpDisplay, helpInlineMaxLength, prefixIcon, prefixIconColor, suffixIcon, suffixIconColor, prefix, suffix, required, minDate, maxDate, validators.requiredMessage, validators.minMessage, validators.maxMessage, startView, startAt, touchUi, closeOnSelect, materialDesign.appearance, materialDesign.color, materialDesign.floatLabel, materialDesign.subscriptSizing, inlineAutoSize.minWidth, inlineAutoSize.maxWidth, inlineAutoSize.minWidthMobile, inlineAutoSize.maxWidthMobile, materialDesign.hideRequiredMarker, errorStateMatcher, ariaLabel, ariaDescribedby, ariaLabelledby, tabIndex, dataAttributes, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled`
|
|
328
328
|
|
|
329
329
|
#### `date-range.config.ts`
|
|
330
330
|
|
|
@@ -344,7 +344,7 @@ Fonte de verdade: `projects/praxis-metadata-editor/src/lib/config/*.config.ts`.
|
|
|
344
344
|
|
|
345
345
|
#### `toggle.config.ts`
|
|
346
346
|
|
|
347
|
-
`label, defaultValue, hint, labelPosition, inlineLabelVisible, hideIcon, disableRipple, readonly, disabled, autoFocus, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, requiredTrue, validators.requiredTrueMessage, color, ariaLabel, ariaDescribedby, ariaLabelledby`
|
|
347
|
+
`label, defaultValue, hint, helpText, helpDisplay, helpInlineMaxLength, labelPosition, inlineLabelVisible, hideIcon, disableRipple, readonly, disabled, autoFocus, clearButton.enabled, clearButton.icon, clearButton.iconColor, clearButton.tooltip, clearButton.ariaLabel, clearButton.showOnlyWhenFilled, requiredTrue, validators.requiredTrueMessage, color, ariaLabel, ariaDescribedby, ariaLabelledby`
|
|
348
348
|
|
|
349
349
|
#### `range-slider.config.ts`
|
|
350
350
|
|
|
@@ -3,7 +3,7 @@ import { NgControl, FormControl, Validators, ReactiveFormsModule, NG_VALUE_ACCES
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { InjectionToken, inject, DestroyRef, ElementRef, ChangeDetectorRef, Injector, signal, output, computed, Input, Directive, viewChild, effect, EventEmitter, Output, Component, forwardRef, LOCALE_ID, Injectable, ChangeDetectionStrategy, ViewChild, ViewContainerRef, HostListener, HostBinding, ViewEncapsulation, ENVIRONMENT_INITIALIZER, Inject, ViewChildren, TemplateRef, ContentChild, APP_INITIALIZER, Optional } from '@angular/core';
|
|
5
5
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import { providePraxisI18n, PraxisI18nService, isCssTextTransform, getTextTransformer, GlobalActionService, GenericCrudService, GlobalConfigService, PraxisIconDirective, FieldControlType, resolveBuiltinPresets, INLINE_FILTER_CONTROL_TYPES, FieldSelectorRegistry, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, LoggerService, normalizeControlTypeToken, resolveInlineFilterControlType, resolveControlTypeAlias, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, resolveValuePresentation, FieldDataType, PraxisJsonLogicService, resolveFieldPresentation as resolveFieldPresentation$1, DynamicFormService, ResourceDiscoveryService, ResourceSurfaceOpenAdapterService, classifyEntityLookupResult, ComponentMetadataRegistry, createCpfCnpjValidator, NumericFormat, interpolatePraxisTranslation, FIELD_METADATA_CAPABILITIES } from '@praxisui/core';
|
|
6
|
+
import { providePraxisI18n, PraxisI18nService, isCssTextTransform, getTextTransformer, GlobalActionService, GenericCrudService, GlobalConfigService, PraxisIconDirective, FieldControlType, resolveBuiltinPresets, INLINE_FILTER_CONTROL_TYPES, FieldSelectorRegistry, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, LoggerService, normalizeControlTypeToken, resolveInlineFilterControlType, resolveControlTypeAlias, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, resolveValuePresentation, FieldDataType, PraxisJsonLogicService, renderPraxisPresentationVisualizationHtml, resolveFieldPresentation as resolveFieldPresentation$1, DynamicFormService, ResourceDiscoveryService, ResourceSurfaceOpenAdapterService, classifyEntityLookupResult, ComponentMetadataRegistry, createCpfCnpjValidator, NumericFormat, interpolatePraxisTranslation, FIELD_METADATA_CAPABILITIES } from '@praxisui/core';
|
|
7
7
|
import { Subscription, BehaviorSubject, combineLatest, of, EMPTY, firstValueFrom, fromEvent, take as take$1 } from 'rxjs';
|
|
8
8
|
import { Router } from '@angular/router';
|
|
9
9
|
import * as i1$3 from '@angular/material/dialog';
|
|
@@ -143,6 +143,8 @@ const PRAXIS_DYNAMIC_FIELDS_EN_US = {
|
|
|
143
143
|
'praxis.dynamicFields.actions.clear.tooltip': 'Clear',
|
|
144
144
|
'praxis.dynamicFields.actions.clear.ariaLabel': 'Clear field',
|
|
145
145
|
'praxis.dynamicFields.actions.clear.ariaLabelWithLabel': 'Clear {{label}}',
|
|
146
|
+
'praxis.dynamicFields.help.ariaLabel': 'Help',
|
|
147
|
+
'praxis.dynamicFields.help.ariaLabelWithLabel': 'Help: {{label}}',
|
|
146
148
|
'praxis.dynamicFields.fileUpload.emptySummary': 'No file selected',
|
|
147
149
|
'praxis.dynamicFields.fileUpload.multipleSummary': '{{count}} files selected',
|
|
148
150
|
'praxis.dynamicFields.fileUpload.clearSelection': 'Clear',
|
|
@@ -533,6 +535,8 @@ const PRAXIS_DYNAMIC_FIELDS_PT_BR = {
|
|
|
533
535
|
'praxis.dynamicFields.actions.clear.tooltip': 'Limpar',
|
|
534
536
|
'praxis.dynamicFields.actions.clear.ariaLabel': 'Limpar campo',
|
|
535
537
|
'praxis.dynamicFields.actions.clear.ariaLabelWithLabel': 'Limpar {{label}}',
|
|
538
|
+
'praxis.dynamicFields.help.ariaLabel': 'Ajuda',
|
|
539
|
+
'praxis.dynamicFields.help.ariaLabelWithLabel': 'Ajuda: {{label}}',
|
|
536
540
|
'praxis.dynamicFields.fileUpload.emptySummary': 'Nenhum arquivo selecionado',
|
|
537
541
|
'praxis.dynamicFields.fileUpload.multipleSummary': '{{count}} arquivos selecionados',
|
|
538
542
|
'praxis.dynamicFields.fileUpload.clearSelection': 'Limpar',
|
|
@@ -1452,6 +1456,53 @@ class SimpleBaseInputComponent {
|
|
|
1452
1456
|
}
|
|
1453
1457
|
return '';
|
|
1454
1458
|
}
|
|
1459
|
+
fieldHelpText() {
|
|
1460
|
+
const meta = this.metadata();
|
|
1461
|
+
const candidates = [meta?.hint, meta?.helpText];
|
|
1462
|
+
for (const candidate of candidates) {
|
|
1463
|
+
const text = String(candidate ?? '').trim();
|
|
1464
|
+
if (text.length) {
|
|
1465
|
+
return text;
|
|
1466
|
+
}
|
|
1467
|
+
}
|
|
1468
|
+
return '';
|
|
1469
|
+
}
|
|
1470
|
+
fieldHelpDisplay() {
|
|
1471
|
+
const meta = this.metadata();
|
|
1472
|
+
const raw = String(meta?.helpDisplay || '').trim();
|
|
1473
|
+
if (raw === 'inline' || raw === 'popover' || raw === 'hidden') {
|
|
1474
|
+
return raw;
|
|
1475
|
+
}
|
|
1476
|
+
if (raw === 'auto') {
|
|
1477
|
+
const text = this.fieldHelpText();
|
|
1478
|
+
if (!text)
|
|
1479
|
+
return 'inline';
|
|
1480
|
+
const maxLength = Math.max(0, Number(meta?.helpInlineMaxLength ?? 64));
|
|
1481
|
+
return text.length > maxLength ? 'popover' : 'inline';
|
|
1482
|
+
}
|
|
1483
|
+
return 'inline';
|
|
1484
|
+
}
|
|
1485
|
+
hasInlineFieldHelp() {
|
|
1486
|
+
return this.fieldHelpDisplay() === 'inline' && !!this.fieldHelpText() && !this.hasValidationError();
|
|
1487
|
+
}
|
|
1488
|
+
fieldHelpInlineText() {
|
|
1489
|
+
return this.hasInlineFieldHelp() ? this.fieldHelpText() : '';
|
|
1490
|
+
}
|
|
1491
|
+
fieldHelpPopoverText() {
|
|
1492
|
+
return this.fieldHelpDisplay() === 'popover' && !this.hasValidationError()
|
|
1493
|
+
? this.fieldHelpText()
|
|
1494
|
+
: '';
|
|
1495
|
+
}
|
|
1496
|
+
fieldHelpPopoverDisabled() {
|
|
1497
|
+
return !this.fieldHelpPopoverText();
|
|
1498
|
+
}
|
|
1499
|
+
fieldHelpAriaLabel() {
|
|
1500
|
+
const label = this.resolveInlineContextTooltipLabel();
|
|
1501
|
+
if (label) {
|
|
1502
|
+
return this.i18n.t('praxis.dynamicFields.help.ariaLabelWithLabel', { label }, `Ajuda: ${label}`);
|
|
1503
|
+
}
|
|
1504
|
+
return this.i18n.t('praxis.dynamicFields.help.ariaLabel', undefined, 'Ajuda');
|
|
1505
|
+
}
|
|
1455
1506
|
isInteractionBlockedByState(options) {
|
|
1456
1507
|
const includeReadonly = options?.includeReadonly !== false;
|
|
1457
1508
|
const includePresentation = options?.includePresentation !== false;
|
|
@@ -7949,6 +8000,19 @@ class MaterialDatepickerComponent extends SimpleBaseInputComponent {
|
|
|
7949
8000
|
</button>
|
|
7950
8001
|
}
|
|
7951
8002
|
|
|
8003
|
+
@if (fieldHelpPopoverText()) {
|
|
8004
|
+
<mat-icon
|
|
8005
|
+
matSuffix
|
|
8006
|
+
class="pdx-field-help-icon"
|
|
8007
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
8008
|
+
matTooltipPosition="above"
|
|
8009
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
8010
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
8011
|
+
tabindex="0"
|
|
8012
|
+
[praxisIcon]="'help_outline'"
|
|
8013
|
+
></mat-icon>
|
|
8014
|
+
}
|
|
8015
|
+
|
|
7952
8016
|
<mat-datepicker
|
|
7953
8017
|
#picker
|
|
7954
8018
|
[startView]="metadata()?.startView || 'month'"
|
|
@@ -7962,13 +8026,13 @@ class MaterialDatepickerComponent extends SimpleBaseInputComponent {
|
|
|
7962
8026
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
7963
8027
|
}
|
|
7964
8028
|
|
|
7965
|
-
@if (
|
|
8029
|
+
@if (hasInlineFieldHelp()) {
|
|
7966
8030
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">
|
|
7967
|
-
{{
|
|
8031
|
+
{{ fieldHelpInlineText() }}
|
|
7968
8032
|
</mat-hint>
|
|
7969
8033
|
}
|
|
7970
8034
|
</mat-form-field>
|
|
7971
|
-
`, isInline: true, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}@media(min-width:600px){::ng-deep .cdk-overlay-pane.mat-datepicker-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-touch,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch{width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-container,::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-calendar,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-datepicker-content-container,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-calendar{width:100%!important;height:auto!important;max-height:calc(100vh - 120px)!important}}\n"], dependencies: [{ 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: "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: MatDatepickerModule }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatNativeDateModule }, { 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"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
8035
|
+
`, isInline: true, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}@media(min-width:600px){::ng-deep .cdk-overlay-pane.mat-datepicker-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-touch,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch{width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-container,::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-calendar,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-datepicker-content-container,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-calendar{width:100%!important;height:auto!important;max-height:calc(100vh - 120px)!important}}\n"], dependencies: [{ 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: "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: MatDatepickerModule }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatNativeDateModule }, { 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"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
7972
8036
|
}
|
|
7973
8037
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialDatepickerComponent, decorators: [{
|
|
7974
8038
|
type: Component,
|
|
@@ -8040,6 +8104,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8040
8104
|
</button>
|
|
8041
8105
|
}
|
|
8042
8106
|
|
|
8107
|
+
@if (fieldHelpPopoverText()) {
|
|
8108
|
+
<mat-icon
|
|
8109
|
+
matSuffix
|
|
8110
|
+
class="pdx-field-help-icon"
|
|
8111
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
8112
|
+
matTooltipPosition="above"
|
|
8113
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
8114
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
8115
|
+
tabindex="0"
|
|
8116
|
+
[praxisIcon]="'help_outline'"
|
|
8117
|
+
></mat-icon>
|
|
8118
|
+
}
|
|
8119
|
+
|
|
8043
8120
|
<mat-datepicker
|
|
8044
8121
|
#picker
|
|
8045
8122
|
[startView]="metadata()?.startView || 'month'"
|
|
@@ -8053,9 +8130,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8053
8130
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
8054
8131
|
}
|
|
8055
8132
|
|
|
8056
|
-
@if (
|
|
8133
|
+
@if (hasInlineFieldHelp()) {
|
|
8057
8134
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">
|
|
8058
|
-
{{
|
|
8135
|
+
{{ fieldHelpInlineText() }}
|
|
8059
8136
|
</mat-hint>
|
|
8060
8137
|
}
|
|
8061
8138
|
</mat-form-field>
|
|
@@ -8085,7 +8162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
8085
8162
|
'[attr.data-field-type]': '"date"',
|
|
8086
8163
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
8087
8164
|
'[attr.data-component-id]': 'componentId()',
|
|
8088
|
-
}, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}@media(min-width:600px){::ng-deep .cdk-overlay-pane.mat-datepicker-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-touch,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch{width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-container,::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-calendar,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-datepicker-content-container,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-calendar{width:100%!important;height:auto!important;max-height:calc(100vh - 120px)!important}}\n"] }]
|
|
8165
|
+
}, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-datepicker-panel){z-index:var(--praxis-layer-popup, 1400)!important}@media(min-width:600px){::ng-deep .cdk-overlay-pane.mat-datepicker-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-touch,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch{width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-height:calc(100vh - 96px)!important}::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-datepicker-content-container,::ng-deep .cdk-overlay-pane.mat-datepicker-dialog .mat-calendar,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-datepicker-content-container,::ng-deep .pdx-datepicker-panel.mat-datepicker-content-touch .mat-calendar{width:100%!important;height:auto!important;max-height:calc(100vh - 120px)!important}}\n"] }]
|
|
8089
8166
|
}], propDecorators: { validationChange: [{ type: i0.Output, args: ["validationChange"] }], readonlyMode: [{
|
|
8090
8167
|
type: Input
|
|
8091
8168
|
}], disabledMode: [{
|
|
@@ -9843,6 +9920,7 @@ class FieldShellComponent {
|
|
|
9843
9920
|
cdr = inject(ChangeDetectorRef);
|
|
9844
9921
|
jsonLogic = inject(PraxisJsonLogicService);
|
|
9845
9922
|
optionDisplayResolver = inject(OptionDisplayResolverService);
|
|
9923
|
+
sanitizer = inject(DomSanitizer);
|
|
9846
9924
|
crudService = inject(GenericCrudService, {
|
|
9847
9925
|
optional: true,
|
|
9848
9926
|
});
|
|
@@ -10031,6 +10109,11 @@ class FieldShellComponent {
|
|
|
10031
10109
|
}
|
|
10032
10110
|
getPresentationHtml() {
|
|
10033
10111
|
const resolved = this.getResolvedPresentation();
|
|
10112
|
+
if (resolved.presenter === 'microVisualization' && resolved.visualization) {
|
|
10113
|
+
return this.sanitizer.bypassSecurityTrustHtml(renderPraxisPresentationVisualizationHtml(resolved.visualization, {
|
|
10114
|
+
locale: this.resolvePresentationAppLocale(),
|
|
10115
|
+
}));
|
|
10116
|
+
}
|
|
10034
10117
|
const raw = this.control?.value;
|
|
10035
10118
|
const displayValue = this.presentationDisplayValue;
|
|
10036
10119
|
const field = this.getPresentationFormattingField(resolved);
|
|
@@ -10074,7 +10157,8 @@ class FieldShellComponent {
|
|
|
10074
10157
|
presentation.badge ||
|
|
10075
10158
|
presentation.tooltip ||
|
|
10076
10159
|
presentation.appearance ||
|
|
10077
|
-
presentation.valuePresentation
|
|
10160
|
+
presentation.valuePresentation ||
|
|
10161
|
+
presentation.visualization);
|
|
10078
10162
|
}
|
|
10079
10163
|
getPresentationTone() {
|
|
10080
10164
|
return this.getResolvedPresentation().tone ?? null;
|
|
@@ -10433,7 +10517,7 @@ class FieldShellComponent {
|
|
|
10433
10517
|
|
|
10434
10518
|
</div>
|
|
10435
10519
|
</div>
|
|
10436
|
-
`, isInline: true, styles: [".pfx-field-shell .mat-mdc-form-field,.pfx-field-shell mat-form-field{width:var(--pfx-field-shell-field-width, 100%)}.pfx-field-shell .mat-mdc-form-field-subscript-wrapper{min-height:20px;margin-top:2px}.pfx-field-shell .mat-mdc-form-field{margin-bottom:8px}.pfx-field-shell .mat-mdc-form-field-infix{min-width:0}:host{display:block;cursor:pointer;width:var(--pfx-field-shell-width, 100%);min-width:0;max-width:100%}.pfx-field-shell-wrapper,.pfx-field-shell-host{position:relative}.praxis-interaction-overlay{position:absolute;inset:0;pointer-events:all}.praxis-readonly-overlay,.praxis-disabled-overlay{cursor:not-allowed}.pfx-field-shell-authoring-hit-target{position:absolute;inset:0;z-index:2;display:block;width:100%;min-width:0;min-height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.pfx-field-shell-authoring-hit-target:focus-visible{outline:2px solid var(--mat-sys-primary, #90caf9);outline-offset:2px}.praxis-presentation{white-space:pre-wrap;display:block;max-width:100%;min-width:0;padding:6px 0}.praxis-presentation__label{display:block;font-size:var(--pfx-pres-label-size, .78rem);line-height:1.2;letter-spacing:.02em;font-weight:500;opacity:.8;margin-bottom:2px}.praxis-presentation__value{display:block;flex:1 1 auto;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:var(--pfx-pres-value-size, 1rem);line-height:1.35;font-weight:600;opacity:.95}.praxis-presentation__value a{color:var( --pfx-pres-link-color, color-mix( in srgb, var(--mat-sys-primary, #90caf9) 78%, var(--mat-sys-on-surface, #ffffff) 22% ) );text-decoration-color:var( --pfx-pres-link-decoration-color, color-mix(in srgb, currentColor 62%, transparent) );text-decoration-thickness:.08em;text-underline-offset:.18em;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.praxis-presentation__value a:visited{color:var(--pfx-pres-link-visited-color, var(--pfx-pres-link-color, inherit))}.praxis-presentation__value a:hover{color:var(--pfx-pres-link-hover-color, var(--pfx-pres-link-color, currentColor));text-decoration-color:currentColor}.praxis-presentation__value a:focus-visible{outline:2px solid var(--pfx-pres-link-focus-ring-color, currentColor);outline-offset:2px;border-radius:2px}.praxis-presentation__content{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.praxis-presentation__icon{flex:0 0 auto;font-size:1.125rem;width:1.125rem;height:1.125rem;line-height:1;opacity:.85}.praxis-presentation--semantic{--pfx-pres-semantic-color: var(--mat-sys-on-surface-variant, currentColor);--pfx-pres-semantic-bg: color-mix(in srgb, currentColor 7%, transparent);--pfx-pres-semantic-border: color-mix(in srgb, currentColor 16%, transparent)}.praxis-presentation[data-presentation-tone=info]{--pfx-pres-semantic-color: var(--pfx-pres-info-color, var(--mat-sys-primary, #0b5cad))}.praxis-presentation[data-presentation-tone=success]{--pfx-pres-semantic-color: var(--pfx-pres-success-color, var(--praxis-success, #0f7b4a))}.praxis-presentation[data-presentation-tone=warning]{--pfx-pres-semantic-color: var(--pfx-pres-warning-color, var(--praxis-warning, #a16207))}.praxis-presentation[data-presentation-tone=danger]{--pfx-pres-semantic-color: var(--pfx-pres-danger-color, var(--mat-sys-error, #ba1a1a))}.praxis-presentation--semantic .praxis-presentation__icon{color:var(--pfx-pres-semantic-color);opacity:1}.praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.praxis-presentation[data-presentation-presenter=status] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=badge] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=chip] .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pfx-pres-status-min-height, 24px);padding:var(--pfx-pres-status-padding, 2px 9px);border-radius:var(--pfx-pres-status-radius, 999px);border:1px solid var(--pfx-pres-semantic-border);color:var(--pfx-pres-semantic-color);background:var(--pfx-pres-semantic-bg);font-size:var(--pfx-pres-status-font-size, .8rem);font-weight:var(--pfx-pres-status-font-weight, 700);line-height:var(--pfx-pres-status-line-height, 1.1)}.praxis-presentation[data-presentation-appearance=filled] .praxis-presentation__value{color:var(--pfx-pres-status-filled-color, var(--mat-sys-on-primary, #ffffff));background:var(--pfx-pres-semantic-color);border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=outlined] .praxis-presentation__value{background:transparent;border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=plain] .praxis-presentation__value{border-color:transparent;background:transparent;padding-inline:0}.praxis-presentation__badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:20px;padding:1px 7px;border-radius:999px;border:1px solid var(--pfx-pres-semantic-border, color-mix(in srgb, currentColor 16%, transparent));color:var(--pfx-pres-semantic-color, currentColor);background:var(--pfx-pres-semantic-bg, color-mix(in srgb, currentColor 7%, transparent));font-size:.72rem;line-height:1;font-weight:700;white-space:nowrap}.presentation-mode.pres-label-left .praxis-presentation{display:flex;align-items:center;gap:8px}.presentation-mode.pres-label-left .praxis-presentation__label{margin:0;min-width:var(--pfx-pres-label-width, 140px);opacity:.85;text-align:var(--pfx-pres-label-align, start)}.presentation-mode .praxis-presentation__value,.presentation-mode .praxis-presentation__content{flex:1 1 auto;min-width:0;text-align:var(--pfx-pres-value-align, start)}.presentation-mode .praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.presentation-mode .praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.presentation-mode .praxis-presentation--semantic[data-presentation-presenter=iconValue] .praxis-presentation__value{display:inline-flex;flex:0 0 auto;width:auto}@media(max-width:480px){.presentation-mode.pres-label-left .praxis-presentation{flex-direction:column;align-items:flex-start;gap:4px}.presentation-mode.pres-label-left .praxis-presentation__label{min-width:0;width:auto;text-align:start}.presentation-mode.pres-label-left .praxis-presentation__content{width:100%;flex-basis:auto}}.presentation-mode.pres-density-cozy .praxis-presentation{padding:6px 0}.presentation-mode.pres-density-compact .praxis-presentation{padding:2px 0;gap:6px}.presentation-mode.pres-compact .praxis-presentation{padding:2px 0}.presentation-mode.pres-compact .praxis-presentation__label,.presentation-mode.pres-density-compact .praxis-presentation__label{font-size:var(--pfx-pres-compact-label-size, var(--pfx-pres-label-size, .72rem));margin-bottom:var(--pfx-pres-compact-label-gap, 1px)}.presentation-mode.pres-compact .praxis-presentation__value,.presentation-mode.pres-density-compact .praxis-presentation__value{font-size:var(--pfx-pres-compact-value-size, var(--pfx-pres-value-size, .92rem));line-height:var(--pfx-pres-compact-value-line-height, 1.22)}.presentation-mode .praxis-presentation--boolean .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pfx-pres-boolean-min-height, 22px);padding:var(--pfx-pres-boolean-padding, 0 8px);border-radius:var(--pfx-pres-boolean-radius, 999px);border:1px solid var(--pfx-pres-boolean-border-color, color-mix(in srgb, currentColor 18%, transparent));background:var(--pfx-pres-boolean-bg, color-mix(in srgb, currentColor 8%, transparent));font-size:var(--pfx-pres-boolean-font-size, .78rem);font-weight:var(--pfx-pres-boolean-font-weight, 700);line-height:var(--pfx-pres-boolean-line-height, 1);text-transform:var(--pfx-pres-boolean-text-transform, none)}.presentation-mode .praxis-presentation--boolean-true .praxis-presentation__value{color:var(--pfx-pres-boolean-true-color, var(--mat-sys-primary, currentColor));background:var(--pfx-pres-boolean-true-bg, color-mix(in srgb, var(--mat-sys-primary, currentColor) 10%, transparent));border-color:var(--pfx-pres-boolean-true-border-color, color-mix(in srgb, var(--mat-sys-primary, currentColor) 24%, transparent))}.presentation-mode .praxis-presentation--boolean-false .praxis-presentation__value{color:var(--pfx-pres-boolean-false-color, var(--mat-sys-on-surface-variant, currentColor));background:var(--pfx-pres-boolean-false-bg, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 6%, transparent));border-color:var(--pfx-pres-boolean-false-border-color, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 16%, transparent))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
10520
|
+
`, isInline: true, styles: [".pfx-field-shell .mat-mdc-form-field,.pfx-field-shell mat-form-field{width:var(--pfx-field-shell-field-width, 100%)}.pfx-field-shell .mat-mdc-form-field-subscript-wrapper{min-height:20px;margin-top:2px}.pfx-field-shell .mat-mdc-form-field{margin-bottom:8px}.pfx-field-shell .mat-mdc-form-field-infix{min-width:0}:host{display:block;cursor:pointer;width:var(--pfx-field-shell-width, 100%);min-width:0;max-width:100%}.pfx-field-shell-wrapper,.pfx-field-shell-host{position:relative}.praxis-interaction-overlay{position:absolute;inset:0;pointer-events:all}.praxis-readonly-overlay,.praxis-disabled-overlay{cursor:not-allowed}.pfx-field-shell-authoring-hit-target{position:absolute;inset:0;z-index:2;display:block;width:100%;min-width:0;min-height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.pfx-field-shell-authoring-hit-target:focus-visible{outline:2px solid var(--mat-sys-primary, #90caf9);outline-offset:2px}.praxis-presentation{white-space:pre-wrap;display:block;max-width:100%;min-width:0;padding:6px 0}.praxis-presentation__label{display:block;font-size:var(--pdx-presentation-label-size, var(--pfx-pres-label-size, .78rem));line-height:1.2;letter-spacing:.02em;font-weight:500;opacity:.8;margin-bottom:2px}.praxis-presentation__value{display:block;flex:1 1 auto;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:var(--pdx-presentation-value-size, var(--pfx-pres-value-size, 1rem));line-height:1.35;font-weight:600;opacity:.95}.praxis-presentation__value a{color:var( --pfx-pres-link-color, color-mix( in srgb, var(--mat-sys-primary, #90caf9) 78%, var(--mat-sys-on-surface, #ffffff) 22% ) );text-decoration-color:var( --pfx-pres-link-decoration-color, color-mix(in srgb, currentColor 62%, transparent) );text-decoration-thickness:.08em;text-underline-offset:.18em;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.praxis-presentation__value a:visited{color:var(--pfx-pres-link-visited-color, var(--pfx-pres-link-color, inherit))}.praxis-presentation__value a:hover{color:var(--pfx-pres-link-hover-color, var(--pfx-pres-link-color, currentColor));text-decoration-color:currentColor}.praxis-presentation__value a:focus-visible{outline:2px solid var(--pfx-pres-link-focus-ring-color, currentColor);outline-offset:2px;border-radius:2px}.praxis-presentation__content{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.praxis-presentation__icon{flex:0 0 auto;font-size:1.125rem;width:1.125rem;height:1.125rem;line-height:1;opacity:.85}.praxis-presentation--semantic{--pfx-pres-semantic-color: var(--mat-sys-on-surface-variant, currentColor);--pfx-pres-semantic-bg: color-mix(in srgb, currentColor 7%, transparent);--pfx-pres-semantic-border: color-mix(in srgb, currentColor 16%, transparent)}.praxis-presentation[data-presentation-tone=info]{--pfx-pres-semantic-color: var(--pfx-pres-info-color, var(--mat-sys-primary, #0b5cad))}.praxis-presentation[data-presentation-tone=success]{--pfx-pres-semantic-color: var(--pfx-pres-success-color, var(--praxis-success, #0f7b4a))}.praxis-presentation[data-presentation-tone=warning]{--pfx-pres-semantic-color: var(--pfx-pres-warning-color, var(--praxis-warning, #a16207))}.praxis-presentation[data-presentation-tone=danger]{--pfx-pres-semantic-color: var(--pfx-pres-danger-color, var(--mat-sys-error, #ba1a1a))}.praxis-presentation--semantic .praxis-presentation__icon{color:var(--pfx-pres-semantic-color);opacity:1}.praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.praxis-presentation[data-presentation-presenter=status] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=badge] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=chip] .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pdx-presentation-flag-height, var(--pfx-pres-status-min-height, 24px));padding:var(--pdx-presentation-flag-padding, var(--pfx-pres-status-padding, 2px 9px));border-radius:var(--pdx-presentation-flag-radius, var(--pfx-pres-status-radius, 999px));border:1px solid var(--pfx-pres-semantic-border);color:var(--pfx-pres-semantic-color);background:var(--pfx-pres-semantic-bg);font-size:var(--pdx-presentation-flag-font-size, var(--pfx-pres-status-font-size, .8rem));font-weight:var(--pfx-pres-status-font-weight, 700);line-height:var(--pfx-pres-status-line-height, 1.1)}.praxis-presentation[data-presentation-appearance=filled] .praxis-presentation__value{color:var(--pfx-pres-status-filled-color, var(--mat-sys-on-primary, #ffffff));background:var(--pfx-pres-semantic-color);border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=outlined] .praxis-presentation__value{background:transparent;border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=plain] .praxis-presentation__value{border-color:transparent;background:transparent;padding-inline:0}.praxis-presentation__badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:20px;padding:1px 7px;border-radius:999px;border:1px solid var(--pfx-pres-semantic-border, color-mix(in srgb, currentColor 16%, transparent));color:var(--pfx-pres-semantic-color, currentColor);background:var(--pfx-pres-semantic-bg, color-mix(in srgb, currentColor 7%, transparent));font-size:.72rem;line-height:1;font-weight:700;white-space:nowrap}.presentation-mode.pres-label-left .praxis-presentation{display:flex;align-items:center;gap:8px}.presentation-mode.pres-label-left .praxis-presentation__label{margin:0;min-width:var(--pdx-presentation-label-width, var(--pfx-pres-label-width, 140px));opacity:.85;text-align:var(--pfx-pres-label-align, start)}.presentation-mode .praxis-presentation__value,.presentation-mode .praxis-presentation__content{flex:1 1 auto;min-width:0;text-align:var(--pfx-pres-value-align, start)}.presentation-mode .praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.presentation-mode .praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.presentation-mode .praxis-presentation--semantic[data-presentation-presenter=iconValue] .praxis-presentation__value{display:inline-flex;flex:0 0 auto;width:auto}.praxis-presentation[data-presentation-presenter=microVisualization] .praxis-presentation__value{display:block;width:100%;max-width:var(--pfx-pres-micro-max-width, 320px);font-size:var(--pfx-pres-micro-font-size, .78rem);line-height:1.2}.pfx-micro-viz{display:grid;gap:6px;width:100%;min-width:0}.pfx-micro-viz__fallback{color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600}.pfx-micro-viz__row{display:grid;grid-template-columns:minmax(48px,.65fr) minmax(92px,1fr) auto;gap:6px;align-items:center;min-width:0}.pfx-micro-viz__label,.pfx-micro-viz__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfx-micro-viz__label{color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600;opacity:.84}.pfx-micro-viz__value{justify-self:end;font-weight:700}.pfx-micro-viz__track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--mat-sys-on-surface, currentColor) 12%,transparent)}.pfx-micro-viz__bar,.pfx-micro-viz__target{position:absolute;inset-block:0;border-radius:inherit;background:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor))}.pfx-micro-viz__segments{display:flex;height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--mat-sys-on-surface, currentColor) 12%,transparent)}.pfx-micro-viz__segment{min-width:2px;background:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor))}.pfx-micro-viz__bullet{display:grid;gap:5px}.pfx-micro-viz__bullet .pfx-micro-viz__track{height:12px}.pfx-micro-viz__target{width:2px;min-width:2px;transform:translate(-1px);background:var(--mat-sys-on-surface, currentColor);opacity:.74}.pfx-micro-viz__delta{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor));font-weight:800}.pfx-micro-viz__delta-symbol{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.72rem;line-height:1}.pfx-micro-viz__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600;opacity:.82}.pfx-micro-viz [data-tone=success]{--pfx-micro-tone-color: var(--praxis-success, #0f7b4a)}.pfx-micro-viz [data-tone=warning],.pfx-micro-viz[data-tone=warning]{--pfx-micro-tone-color: var(--praxis-warning, #a16207)}.pfx-micro-viz [data-tone=danger],.pfx-micro-viz[data-tone=danger],.pfx-micro-viz [data-tone=critical],.pfx-micro-viz[data-tone=critical]{--pfx-micro-tone-color: var(--mat-sys-error, #ba1a1a)}.pfx-micro-viz [data-tone=info],.pfx-micro-viz[data-tone=info]{--pfx-micro-tone-color: var(--mat-sys-primary, #0b5cad)}@media(max-width:480px){.presentation-mode.pres-label-left .praxis-presentation{flex-direction:column;align-items:flex-start;gap:4px}.presentation-mode.pres-label-left .praxis-presentation__label{min-width:0;width:auto;text-align:start}.presentation-mode.pres-label-left .praxis-presentation__content{width:100%;flex-basis:auto}}.presentation-mode.pres-density-cozy .praxis-presentation{padding:6px 0}.presentation-mode.pres-density-compact .praxis-presentation{padding:2px 0;gap:6px}.presentation-mode.pres-compact .praxis-presentation{padding:2px 0}.presentation-mode.pres-compact .praxis-presentation__label,.presentation-mode.pres-density-compact .praxis-presentation__label{font-size:var(--pdx-presentation-label-size, var(--pfx-pres-compact-label-size, var(--pfx-pres-label-size, .72rem)));margin-bottom:var(--pfx-pres-compact-label-gap, 1px)}.presentation-mode.pres-compact .praxis-presentation__value,.presentation-mode.pres-density-compact .praxis-presentation__value{font-size:var(--pdx-presentation-value-size, var(--pfx-pres-compact-value-size, var(--pfx-pres-value-size, .92rem)));line-height:var(--pfx-pres-compact-value-line-height, 1.22)}.presentation-mode .praxis-presentation--boolean .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pdx-presentation-flag-height, var(--pfx-pres-boolean-min-height, 22px));padding:var(--pdx-presentation-flag-padding, var(--pfx-pres-boolean-padding, 0 8px));border-radius:var(--pdx-presentation-flag-radius, var(--pfx-pres-boolean-radius, 999px));border:1px solid var(--pfx-pres-boolean-border-color, color-mix(in srgb, currentColor 18%, transparent));background:var(--pfx-pres-boolean-bg, color-mix(in srgb, currentColor 8%, transparent));font-size:var(--pdx-presentation-flag-font-size, var(--pfx-pres-boolean-font-size, .78rem));font-weight:var(--pfx-pres-boolean-font-weight, 700);line-height:var(--pfx-pres-boolean-line-height, 1);text-transform:var(--pfx-pres-boolean-text-transform, none)}.presentation-mode .praxis-presentation--boolean-true .praxis-presentation__value{color:var(--pfx-pres-boolean-true-color, var(--mat-sys-primary, currentColor));background:var(--pfx-pres-boolean-true-bg, color-mix(in srgb, var(--mat-sys-primary, currentColor) 10%, transparent));border-color:var(--pfx-pres-boolean-true-border-color, color-mix(in srgb, var(--mat-sys-primary, currentColor) 24%, transparent))}.presentation-mode .praxis-presentation--boolean-false .praxis-presentation__value{color:var(--pfx-pres-boolean-false-color, var(--mat-sys-on-surface-variant, currentColor));background:var(--pfx-pres-boolean-false-bg, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 6%, transparent));border-color:var(--pfx-pres-boolean-false-border-color, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 16%, transparent))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
10437
10521
|
}
|
|
10438
10522
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: FieldShellComponent, decorators: [{
|
|
10439
10523
|
type: Component,
|
|
@@ -10555,7 +10639,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
10555
10639
|
|
|
10556
10640
|
</div>
|
|
10557
10641
|
</div>
|
|
10558
|
-
`, styles: [".pfx-field-shell .mat-mdc-form-field,.pfx-field-shell mat-form-field{width:var(--pfx-field-shell-field-width, 100%)}.pfx-field-shell .mat-mdc-form-field-subscript-wrapper{min-height:20px;margin-top:2px}.pfx-field-shell .mat-mdc-form-field{margin-bottom:8px}.pfx-field-shell .mat-mdc-form-field-infix{min-width:0}:host{display:block;cursor:pointer;width:var(--pfx-field-shell-width, 100%);min-width:0;max-width:100%}.pfx-field-shell-wrapper,.pfx-field-shell-host{position:relative}.praxis-interaction-overlay{position:absolute;inset:0;pointer-events:all}.praxis-readonly-overlay,.praxis-disabled-overlay{cursor:not-allowed}.pfx-field-shell-authoring-hit-target{position:absolute;inset:0;z-index:2;display:block;width:100%;min-width:0;min-height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.pfx-field-shell-authoring-hit-target:focus-visible{outline:2px solid var(--mat-sys-primary, #90caf9);outline-offset:2px}.praxis-presentation{white-space:pre-wrap;display:block;max-width:100%;min-width:0;padding:6px 0}.praxis-presentation__label{display:block;font-size:var(--pfx-pres-label-size, .78rem);line-height:1.2;letter-spacing:.02em;font-weight:500;opacity:.8;margin-bottom:2px}.praxis-presentation__value{display:block;flex:1 1 auto;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:var(--pfx-pres-value-size, 1rem);line-height:1.35;font-weight:600;opacity:.95}.praxis-presentation__value a{color:var( --pfx-pres-link-color, color-mix( in srgb, var(--mat-sys-primary, #90caf9) 78%, var(--mat-sys-on-surface, #ffffff) 22% ) );text-decoration-color:var( --pfx-pres-link-decoration-color, color-mix(in srgb, currentColor 62%, transparent) );text-decoration-thickness:.08em;text-underline-offset:.18em;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.praxis-presentation__value a:visited{color:var(--pfx-pres-link-visited-color, var(--pfx-pres-link-color, inherit))}.praxis-presentation__value a:hover{color:var(--pfx-pres-link-hover-color, var(--pfx-pres-link-color, currentColor));text-decoration-color:currentColor}.praxis-presentation__value a:focus-visible{outline:2px solid var(--pfx-pres-link-focus-ring-color, currentColor);outline-offset:2px;border-radius:2px}.praxis-presentation__content{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.praxis-presentation__icon{flex:0 0 auto;font-size:1.125rem;width:1.125rem;height:1.125rem;line-height:1;opacity:.85}.praxis-presentation--semantic{--pfx-pres-semantic-color: var(--mat-sys-on-surface-variant, currentColor);--pfx-pres-semantic-bg: color-mix(in srgb, currentColor 7%, transparent);--pfx-pres-semantic-border: color-mix(in srgb, currentColor 16%, transparent)}.praxis-presentation[data-presentation-tone=info]{--pfx-pres-semantic-color: var(--pfx-pres-info-color, var(--mat-sys-primary, #0b5cad))}.praxis-presentation[data-presentation-tone=success]{--pfx-pres-semantic-color: var(--pfx-pres-success-color, var(--praxis-success, #0f7b4a))}.praxis-presentation[data-presentation-tone=warning]{--pfx-pres-semantic-color: var(--pfx-pres-warning-color, var(--praxis-warning, #a16207))}.praxis-presentation[data-presentation-tone=danger]{--pfx-pres-semantic-color: var(--pfx-pres-danger-color, var(--mat-sys-error, #ba1a1a))}.praxis-presentation--semantic .praxis-presentation__icon{color:var(--pfx-pres-semantic-color);opacity:1}.praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.praxis-presentation[data-presentation-presenter=status] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=badge] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=chip] .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pfx-pres-status-min-height, 24px);padding:var(--pfx-pres-status-padding, 2px 9px);border-radius:var(--pfx-pres-status-radius, 999px);border:1px solid var(--pfx-pres-semantic-border);color:var(--pfx-pres-semantic-color);background:var(--pfx-pres-semantic-bg);font-size:var(--pfx-pres-status-font-size, .8rem);font-weight:var(--pfx-pres-status-font-weight, 700);line-height:var(--pfx-pres-status-line-height, 1.1)}.praxis-presentation[data-presentation-appearance=filled] .praxis-presentation__value{color:var(--pfx-pres-status-filled-color, var(--mat-sys-on-primary, #ffffff));background:var(--pfx-pres-semantic-color);border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=outlined] .praxis-presentation__value{background:transparent;border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=plain] .praxis-presentation__value{border-color:transparent;background:transparent;padding-inline:0}.praxis-presentation__badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:20px;padding:1px 7px;border-radius:999px;border:1px solid var(--pfx-pres-semantic-border, color-mix(in srgb, currentColor 16%, transparent));color:var(--pfx-pres-semantic-color, currentColor);background:var(--pfx-pres-semantic-bg, color-mix(in srgb, currentColor 7%, transparent));font-size:.72rem;line-height:1;font-weight:700;white-space:nowrap}.presentation-mode.pres-label-left .praxis-presentation{display:flex;align-items:center;gap:8px}.presentation-mode.pres-label-left .praxis-presentation__label{margin:0;min-width:var(--pfx-pres-label-width, 140px);opacity:.85;text-align:var(--pfx-pres-label-align, start)}.presentation-mode .praxis-presentation__value,.presentation-mode .praxis-presentation__content{flex:1 1 auto;min-width:0;text-align:var(--pfx-pres-value-align, start)}.presentation-mode .praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.presentation-mode .praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.presentation-mode .praxis-presentation--semantic[data-presentation-presenter=iconValue] .praxis-presentation__value{display:inline-flex;flex:0 0 auto;width:auto}@media(max-width:480px){.presentation-mode.pres-label-left .praxis-presentation{flex-direction:column;align-items:flex-start;gap:4px}.presentation-mode.pres-label-left .praxis-presentation__label{min-width:0;width:auto;text-align:start}.presentation-mode.pres-label-left .praxis-presentation__content{width:100%;flex-basis:auto}}.presentation-mode.pres-density-cozy .praxis-presentation{padding:6px 0}.presentation-mode.pres-density-compact .praxis-presentation{padding:2px 0;gap:6px}.presentation-mode.pres-compact .praxis-presentation{padding:2px 0}.presentation-mode.pres-compact .praxis-presentation__label,.presentation-mode.pres-density-compact .praxis-presentation__label{font-size:var(--pfx-pres-compact-label-size, var(--pfx-pres-label-size, .72rem));margin-bottom:var(--pfx-pres-compact-label-gap, 1px)}.presentation-mode.pres-compact .praxis-presentation__value,.presentation-mode.pres-density-compact .praxis-presentation__value{font-size:var(--pfx-pres-compact-value-size, var(--pfx-pres-value-size, .92rem));line-height:var(--pfx-pres-compact-value-line-height, 1.22)}.presentation-mode .praxis-presentation--boolean .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pfx-pres-boolean-min-height, 22px);padding:var(--pfx-pres-boolean-padding, 0 8px);border-radius:var(--pfx-pres-boolean-radius, 999px);border:1px solid var(--pfx-pres-boolean-border-color, color-mix(in srgb, currentColor 18%, transparent));background:var(--pfx-pres-boolean-bg, color-mix(in srgb, currentColor 8%, transparent));font-size:var(--pfx-pres-boolean-font-size, .78rem);font-weight:var(--pfx-pres-boolean-font-weight, 700);line-height:var(--pfx-pres-boolean-line-height, 1);text-transform:var(--pfx-pres-boolean-text-transform, none)}.presentation-mode .praxis-presentation--boolean-true .praxis-presentation__value{color:var(--pfx-pres-boolean-true-color, var(--mat-sys-primary, currentColor));background:var(--pfx-pres-boolean-true-bg, color-mix(in srgb, var(--mat-sys-primary, currentColor) 10%, transparent));border-color:var(--pfx-pres-boolean-true-border-color, color-mix(in srgb, var(--mat-sys-primary, currentColor) 24%, transparent))}.presentation-mode .praxis-presentation--boolean-false .praxis-presentation__value{color:var(--pfx-pres-boolean-false-color, var(--mat-sys-on-surface-variant, currentColor));background:var(--pfx-pres-boolean-false-bg, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 6%, transparent));border-color:var(--pfx-pres-boolean-false-border-color, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 16%, transparent))}\n"] }]
|
|
10642
|
+
`, styles: [".pfx-field-shell .mat-mdc-form-field,.pfx-field-shell mat-form-field{width:var(--pfx-field-shell-field-width, 100%)}.pfx-field-shell .mat-mdc-form-field-subscript-wrapper{min-height:20px;margin-top:2px}.pfx-field-shell .mat-mdc-form-field{margin-bottom:8px}.pfx-field-shell .mat-mdc-form-field-infix{min-width:0}:host{display:block;cursor:pointer;width:var(--pfx-field-shell-width, 100%);min-width:0;max-width:100%}.pfx-field-shell-wrapper,.pfx-field-shell-host{position:relative}.praxis-interaction-overlay{position:absolute;inset:0;pointer-events:all}.praxis-readonly-overlay,.praxis-disabled-overlay{cursor:not-allowed}.pfx-field-shell-authoring-hit-target{position:absolute;inset:0;z-index:2;display:block;width:100%;min-width:0;min-height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;appearance:none;-webkit-appearance:none}.pfx-field-shell-authoring-hit-target:focus-visible{outline:2px solid var(--mat-sys-primary, #90caf9);outline-offset:2px}.praxis-presentation{white-space:pre-wrap;display:block;max-width:100%;min-width:0;padding:6px 0}.praxis-presentation__label{display:block;font-size:var(--pdx-presentation-label-size, var(--pfx-pres-label-size, .78rem));line-height:1.2;letter-spacing:.02em;font-weight:500;opacity:.8;margin-bottom:2px}.praxis-presentation__value{display:block;flex:1 1 auto;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:var(--pdx-presentation-value-size, var(--pfx-pres-value-size, 1rem));line-height:1.35;font-weight:600;opacity:.95}.praxis-presentation__value a{color:var( --pfx-pres-link-color, color-mix( in srgb, var(--mat-sys-primary, #90caf9) 78%, var(--mat-sys-on-surface, #ffffff) 22% ) );text-decoration-color:var( --pfx-pres-link-decoration-color, color-mix(in srgb, currentColor 62%, transparent) );text-decoration-thickness:.08em;text-underline-offset:.18em;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.praxis-presentation__value a:visited{color:var(--pfx-pres-link-visited-color, var(--pfx-pres-link-color, inherit))}.praxis-presentation__value a:hover{color:var(--pfx-pres-link-hover-color, var(--pfx-pres-link-color, currentColor));text-decoration-color:currentColor}.praxis-presentation__value a:focus-visible{outline:2px solid var(--pfx-pres-link-focus-ring-color, currentColor);outline-offset:2px;border-radius:2px}.praxis-presentation__content{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0}.praxis-presentation__icon{flex:0 0 auto;font-size:1.125rem;width:1.125rem;height:1.125rem;line-height:1;opacity:.85}.praxis-presentation--semantic{--pfx-pres-semantic-color: var(--mat-sys-on-surface-variant, currentColor);--pfx-pres-semantic-bg: color-mix(in srgb, currentColor 7%, transparent);--pfx-pres-semantic-border: color-mix(in srgb, currentColor 16%, transparent)}.praxis-presentation[data-presentation-tone=info]{--pfx-pres-semantic-color: var(--pfx-pres-info-color, var(--mat-sys-primary, #0b5cad))}.praxis-presentation[data-presentation-tone=success]{--pfx-pres-semantic-color: var(--pfx-pres-success-color, var(--praxis-success, #0f7b4a))}.praxis-presentation[data-presentation-tone=warning]{--pfx-pres-semantic-color: var(--pfx-pres-warning-color, var(--praxis-warning, #a16207))}.praxis-presentation[data-presentation-tone=danger]{--pfx-pres-semantic-color: var(--pfx-pres-danger-color, var(--mat-sys-error, #ba1a1a))}.praxis-presentation--semantic .praxis-presentation__icon{color:var(--pfx-pres-semantic-color);opacity:1}.praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.praxis-presentation[data-presentation-presenter=status] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=badge] .praxis-presentation__value,.praxis-presentation[data-presentation-presenter=chip] .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pdx-presentation-flag-height, var(--pfx-pres-status-min-height, 24px));padding:var(--pdx-presentation-flag-padding, var(--pfx-pres-status-padding, 2px 9px));border-radius:var(--pdx-presentation-flag-radius, var(--pfx-pres-status-radius, 999px));border:1px solid var(--pfx-pres-semantic-border);color:var(--pfx-pres-semantic-color);background:var(--pfx-pres-semantic-bg);font-size:var(--pdx-presentation-flag-font-size, var(--pfx-pres-status-font-size, .8rem));font-weight:var(--pfx-pres-status-font-weight, 700);line-height:var(--pfx-pres-status-line-height, 1.1)}.praxis-presentation[data-presentation-appearance=filled] .praxis-presentation__value{color:var(--pfx-pres-status-filled-color, var(--mat-sys-on-primary, #ffffff));background:var(--pfx-pres-semantic-color);border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=outlined] .praxis-presentation__value{background:transparent;border-color:var(--pfx-pres-semantic-color)}.praxis-presentation[data-presentation-appearance=plain] .praxis-presentation__value{border-color:transparent;background:transparent;padding-inline:0}.praxis-presentation__badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:20px;padding:1px 7px;border-radius:999px;border:1px solid var(--pfx-pres-semantic-border, color-mix(in srgb, currentColor 16%, transparent));color:var(--pfx-pres-semantic-color, currentColor);background:var(--pfx-pres-semantic-bg, color-mix(in srgb, currentColor 7%, transparent));font-size:.72rem;line-height:1;font-weight:700;white-space:nowrap}.presentation-mode.pres-label-left .praxis-presentation{display:flex;align-items:center;gap:8px}.presentation-mode.pres-label-left .praxis-presentation__label{margin:0;min-width:var(--pdx-presentation-label-width, var(--pfx-pres-label-width, 140px));opacity:.85;text-align:var(--pfx-pres-label-align, start)}.presentation-mode .praxis-presentation__value,.presentation-mode .praxis-presentation__content{flex:1 1 auto;min-width:0;text-align:var(--pfx-pres-value-align, start)}.presentation-mode .praxis-presentation--semantic .praxis-presentation__value{flex:0 1 auto}.presentation-mode .praxis-presentation--semantic .praxis-presentation__content{justify-content:flex-start}.presentation-mode .praxis-presentation--semantic[data-presentation-presenter=iconValue] .praxis-presentation__value{display:inline-flex;flex:0 0 auto;width:auto}.praxis-presentation[data-presentation-presenter=microVisualization] .praxis-presentation__value{display:block;width:100%;max-width:var(--pfx-pres-micro-max-width, 320px);font-size:var(--pfx-pres-micro-font-size, .78rem);line-height:1.2}.pfx-micro-viz{display:grid;gap:6px;width:100%;min-width:0}.pfx-micro-viz__fallback{color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600}.pfx-micro-viz__row{display:grid;grid-template-columns:minmax(48px,.65fr) minmax(92px,1fr) auto;gap:6px;align-items:center;min-width:0}.pfx-micro-viz__label,.pfx-micro-viz__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfx-micro-viz__label{color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600;opacity:.84}.pfx-micro-viz__value{justify-self:end;font-weight:700}.pfx-micro-viz__track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--mat-sys-on-surface, currentColor) 12%,transparent)}.pfx-micro-viz__bar,.pfx-micro-viz__target{position:absolute;inset-block:0;border-radius:inherit;background:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor))}.pfx-micro-viz__segments{display:flex;height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--mat-sys-on-surface, currentColor) 12%,transparent)}.pfx-micro-viz__segment{min-width:2px;background:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor))}.pfx-micro-viz__bullet{display:grid;gap:5px}.pfx-micro-viz__bullet .pfx-micro-viz__track{height:12px}.pfx-micro-viz__target{width:2px;min-width:2px;transform:translate(-1px);background:var(--mat-sys-on-surface, currentColor);opacity:.74}.pfx-micro-viz__delta{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--pfx-micro-tone-color, var(--mat-sys-primary, currentColor));font-weight:800}.pfx-micro-viz__delta-symbol{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.72rem;line-height:1}.pfx-micro-viz__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:var(--mat-sys-on-surface-variant, currentColor);font-weight:600;opacity:.82}.pfx-micro-viz [data-tone=success]{--pfx-micro-tone-color: var(--praxis-success, #0f7b4a)}.pfx-micro-viz [data-tone=warning],.pfx-micro-viz[data-tone=warning]{--pfx-micro-tone-color: var(--praxis-warning, #a16207)}.pfx-micro-viz [data-tone=danger],.pfx-micro-viz[data-tone=danger],.pfx-micro-viz [data-tone=critical],.pfx-micro-viz[data-tone=critical]{--pfx-micro-tone-color: var(--mat-sys-error, #ba1a1a)}.pfx-micro-viz [data-tone=info],.pfx-micro-viz[data-tone=info]{--pfx-micro-tone-color: var(--mat-sys-primary, #0b5cad)}@media(max-width:480px){.presentation-mode.pres-label-left .praxis-presentation{flex-direction:column;align-items:flex-start;gap:4px}.presentation-mode.pres-label-left .praxis-presentation__label{min-width:0;width:auto;text-align:start}.presentation-mode.pres-label-left .praxis-presentation__content{width:100%;flex-basis:auto}}.presentation-mode.pres-density-cozy .praxis-presentation{padding:6px 0}.presentation-mode.pres-density-compact .praxis-presentation{padding:2px 0;gap:6px}.presentation-mode.pres-compact .praxis-presentation{padding:2px 0}.presentation-mode.pres-compact .praxis-presentation__label,.presentation-mode.pres-density-compact .praxis-presentation__label{font-size:var(--pdx-presentation-label-size, var(--pfx-pres-compact-label-size, var(--pfx-pres-label-size, .72rem)));margin-bottom:var(--pfx-pres-compact-label-gap, 1px)}.presentation-mode.pres-compact .praxis-presentation__value,.presentation-mode.pres-density-compact .praxis-presentation__value{font-size:var(--pdx-presentation-value-size, var(--pfx-pres-compact-value-size, var(--pfx-pres-value-size, .92rem)));line-height:var(--pfx-pres-compact-value-line-height, 1.22)}.presentation-mode .praxis-presentation--boolean .praxis-presentation__value{display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--pdx-presentation-flag-height, var(--pfx-pres-boolean-min-height, 22px));padding:var(--pdx-presentation-flag-padding, var(--pfx-pres-boolean-padding, 0 8px));border-radius:var(--pdx-presentation-flag-radius, var(--pfx-pres-boolean-radius, 999px));border:1px solid var(--pfx-pres-boolean-border-color, color-mix(in srgb, currentColor 18%, transparent));background:var(--pfx-pres-boolean-bg, color-mix(in srgb, currentColor 8%, transparent));font-size:var(--pdx-presentation-flag-font-size, var(--pfx-pres-boolean-font-size, .78rem));font-weight:var(--pfx-pres-boolean-font-weight, 700);line-height:var(--pfx-pres-boolean-line-height, 1);text-transform:var(--pfx-pres-boolean-text-transform, none)}.presentation-mode .praxis-presentation--boolean-true .praxis-presentation__value{color:var(--pfx-pres-boolean-true-color, var(--mat-sys-primary, currentColor));background:var(--pfx-pres-boolean-true-bg, color-mix(in srgb, var(--mat-sys-primary, currentColor) 10%, transparent));border-color:var(--pfx-pres-boolean-true-border-color, color-mix(in srgb, var(--mat-sys-primary, currentColor) 24%, transparent))}.presentation-mode .praxis-presentation--boolean-false .praxis-presentation__value{color:var(--pfx-pres-boolean-false-color, var(--mat-sys-on-surface-variant, currentColor));background:var(--pfx-pres-boolean-false-bg, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 6%, transparent));border-color:var(--pfx-pres-boolean-false-border-color, color-mix(in srgb, var(--mat-sys-on-surface, currentColor) 16%, transparent))}\n"] }]
|
|
10559
10643
|
}], propDecorators: { field: [{
|
|
10560
10644
|
type: Input
|
|
10561
10645
|
}], index: [{
|
|
@@ -12880,15 +12964,28 @@ class MaterialAsyncSelectComponent extends SimpleBaseSelectComponent {
|
|
|
12880
12964
|
></mat-icon>
|
|
12881
12965
|
</button>
|
|
12882
12966
|
}
|
|
12967
|
+
|
|
12968
|
+
@if (fieldHelpPopoverText()) {
|
|
12969
|
+
<mat-icon
|
|
12970
|
+
matSuffix
|
|
12971
|
+
class="pdx-field-help-icon"
|
|
12972
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
12973
|
+
matTooltipPosition="above"
|
|
12974
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
12975
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
12976
|
+
tabindex="0"
|
|
12977
|
+
[praxisIcon]="'help_outline'"
|
|
12978
|
+
></mat-icon>
|
|
12979
|
+
}
|
|
12883
12980
|
|
|
12884
12981
|
@if (hasValidationError()) {
|
|
12885
12982
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
12886
12983
|
}
|
|
12887
|
-
@if (
|
|
12888
|
-
<mat-hint>{{
|
|
12984
|
+
@if (hasInlineFieldHelp()) {
|
|
12985
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
12889
12986
|
}
|
|
12890
12987
|
</mat-form-field>
|
|
12891
|
-
`, isInline: true, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option input{width:100%}\n"], dependencies: [{ 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: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { 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: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
12988
|
+
`, isInline: true, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option input{width:100%}\n"], dependencies: [{ 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: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { 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: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
12892
12989
|
}
|
|
12893
12990
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialAsyncSelectComponent, decorators: [{
|
|
12894
12991
|
type: Component,
|
|
@@ -13002,12 +13099,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13002
13099
|
></mat-icon>
|
|
13003
13100
|
</button>
|
|
13004
13101
|
}
|
|
13102
|
+
|
|
13103
|
+
@if (fieldHelpPopoverText()) {
|
|
13104
|
+
<mat-icon
|
|
13105
|
+
matSuffix
|
|
13106
|
+
class="pdx-field-help-icon"
|
|
13107
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
13108
|
+
matTooltipPosition="above"
|
|
13109
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
13110
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
13111
|
+
tabindex="0"
|
|
13112
|
+
[praxisIcon]="'help_outline'"
|
|
13113
|
+
></mat-icon>
|
|
13114
|
+
}
|
|
13005
13115
|
|
|
13006
13116
|
@if (hasValidationError()) {
|
|
13007
13117
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
13008
13118
|
}
|
|
13009
|
-
@if (
|
|
13010
|
-
<mat-hint>{{
|
|
13119
|
+
@if (hasInlineFieldHelp()) {
|
|
13120
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
13011
13121
|
}
|
|
13012
13122
|
</mat-form-field>
|
|
13013
13123
|
`, providers: [
|
|
@@ -13025,7 +13135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
13025
13135
|
'[attr.data-field-type]': '"async-select"',
|
|
13026
13136
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
13027
13137
|
'[attr.data-component-id]': 'componentId()',
|
|
13028
|
-
}, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option input{width:100%}\n"] }]
|
|
13138
|
+
}, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-async-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-async-select-panel .pdx-select-search-option input{width:100%}\n"] }]
|
|
13029
13139
|
}], propDecorators: { readonlyMode: [{
|
|
13030
13140
|
type: Input
|
|
13031
13141
|
}], disabledMode: [{
|
|
@@ -13965,7 +14075,7 @@ class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
|
|
|
13965
14075
|
.trim();
|
|
13966
14076
|
}
|
|
13967
14077
|
interpolateLookupText(template, values) {
|
|
13968
|
-
return Object.entries(values).reduce((resolved, [key, value]) => resolved.
|
|
14078
|
+
return Object.entries(values).reduce((resolved, [key, value]) => resolved.split(`{${key}}`).join(value), template);
|
|
13969
14079
|
}
|
|
13970
14080
|
lookupDependencyLabels() {
|
|
13971
14081
|
const dependsOn = this.optionSource()?.dependsOn ?? [];
|
|
@@ -18887,6 +18997,18 @@ class MaterialSelectComponent extends SimpleBaseSelectComponent {
|
|
|
18887
18997
|
[praxisIcon]="metadata()!.suffixIcon"
|
|
18888
18998
|
></mat-icon>
|
|
18889
18999
|
}
|
|
19000
|
+
@if (fieldHelpPopoverText()) {
|
|
19001
|
+
<mat-icon
|
|
19002
|
+
matSuffix
|
|
19003
|
+
class="pdx-field-help-icon"
|
|
19004
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
19005
|
+
matTooltipPosition="above"
|
|
19006
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
19007
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
19008
|
+
tabindex="0"
|
|
19009
|
+
[praxisIcon]="'help_outline'"
|
|
19010
|
+
></mat-icon>
|
|
19011
|
+
}
|
|
18890
19012
|
@if (!loading() && showClear()) {
|
|
18891
19013
|
<button
|
|
18892
19014
|
mat-icon-button
|
|
@@ -18907,11 +19029,11 @@ class MaterialSelectComponent extends SimpleBaseSelectComponent {
|
|
|
18907
19029
|
@if (hasValidationError()) {
|
|
18908
19030
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
18909
19031
|
}
|
|
18910
|
-
@if (
|
|
18911
|
-
<mat-hint>{{
|
|
19032
|
+
@if (hasInlineFieldHelp()) {
|
|
19033
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
18912
19034
|
}
|
|
18913
19035
|
</mat-form-field>
|
|
18914
|
-
`, isInline: true, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important;border-radius:8px!important;overflow:hidden!important}::ng-deep .pdx-material-select-panel{--pdx-material-select-panel-surface: var( --pdx-overlay-surface, var(--md-sys-color-surface-container-highest, light-dark(#ffffff, #121c28)) );--pdx-material-select-panel-on-surface: var( --pdx-overlay-on-surface, var(--md-sys-color-on-surface, #111827) );--mat-select-panel-background-color: var(--pdx-material-select-panel-surface);--mat-option-label-text-color: var(--pdx-material-select-panel-on-surface);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary, #2563eb);--mat-option-selected-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 12%, var(--pdx-material-select-panel-surface) );--mat-option-hover-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 8%, var(--pdx-material-select-panel-surface) );--mat-option-focus-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 10%, var(--pdx-material-select-panel-surface) );background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border:1px solid var(--md-sys-color-outline-variant, rgba(148, 163, 184, .38))!important;box-shadow:var(--md-sys-elevation-level3, 0 18px 44px rgba(15, 23, 42, .18))!important;color:var(--pdx-material-select-panel-on-surface)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel) div.mat-mdc-select-panel.pdx-material-select-panel{background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border-radius:8px!important;overflow:auto!important}::ng-deep .pdx-material-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-select-panel .pdx-select-search-option input{width:100%}::ng-deep .pdx-material-select-panel .mat-mdc-option{min-height:48px;height:auto}::ng-deep .pdx-material-select-panel .pdx-material-select-option{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}::ng-deep .pdx-material-select-panel .pdx-material-select-option__label,::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{color:color-mix(in srgb,var(--pdx-material-select-panel-on-surface) 68%,transparent);font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
19036
|
+
`, isInline: true, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important;border-radius:8px!important;overflow:hidden!important}::ng-deep .pdx-material-select-panel{--pdx-material-select-panel-surface: var( --pdx-overlay-surface, var(--md-sys-color-surface-container-highest, light-dark(#ffffff, #121c28)) );--pdx-material-select-panel-on-surface: var( --pdx-overlay-on-surface, var(--md-sys-color-on-surface, #111827) );--mat-select-panel-background-color: var(--pdx-material-select-panel-surface);--mat-option-label-text-color: var(--pdx-material-select-panel-on-surface);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary, #2563eb);--mat-option-selected-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 12%, var(--pdx-material-select-panel-surface) );--mat-option-hover-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 8%, var(--pdx-material-select-panel-surface) );--mat-option-focus-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 10%, var(--pdx-material-select-panel-surface) );background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border:1px solid var(--md-sys-color-outline-variant, rgba(148, 163, 184, .38))!important;box-shadow:var(--md-sys-elevation-level3, 0 18px 44px rgba(15, 23, 42, .18))!important;color:var(--pdx-material-select-panel-on-surface)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel) div.mat-mdc-select-panel.pdx-material-select-panel{background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border-radius:8px!important;overflow:auto!important}::ng-deep .pdx-material-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-select-panel .pdx-select-search-option input{width:100%}::ng-deep .pdx-material-select-panel .mat-mdc-option{min-height:48px;height:auto}::ng-deep .pdx-material-select-panel .pdx-material-select-option{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}::ng-deep .pdx-material-select-panel .pdx-material-select-option__label,::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{color:color-mix(in srgb,var(--pdx-material-select-panel-on-surface) 68%,transparent);font-size:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
18915
19037
|
}
|
|
18916
19038
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialSelectComponent, decorators: [{
|
|
18917
19039
|
type: Component,
|
|
@@ -19026,6 +19148,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19026
19148
|
[praxisIcon]="metadata()!.suffixIcon"
|
|
19027
19149
|
></mat-icon>
|
|
19028
19150
|
}
|
|
19151
|
+
@if (fieldHelpPopoverText()) {
|
|
19152
|
+
<mat-icon
|
|
19153
|
+
matSuffix
|
|
19154
|
+
class="pdx-field-help-icon"
|
|
19155
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
19156
|
+
matTooltipPosition="above"
|
|
19157
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
19158
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
19159
|
+
tabindex="0"
|
|
19160
|
+
[praxisIcon]="'help_outline'"
|
|
19161
|
+
></mat-icon>
|
|
19162
|
+
}
|
|
19029
19163
|
@if (!loading() && showClear()) {
|
|
19030
19164
|
<button
|
|
19031
19165
|
mat-icon-button
|
|
@@ -19046,8 +19180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19046
19180
|
@if (hasValidationError()) {
|
|
19047
19181
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
19048
19182
|
}
|
|
19049
|
-
@if (
|
|
19050
|
-
<mat-hint>{{
|
|
19183
|
+
@if (hasInlineFieldHelp()) {
|
|
19184
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
19051
19185
|
}
|
|
19052
19186
|
</mat-form-field>
|
|
19053
19187
|
`, providers: [
|
|
@@ -19066,7 +19200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19066
19200
|
'[attr.data-field-type]': '"select"',
|
|
19067
19201
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
19068
19202
|
'[attr.data-component-id]': 'componentId()',
|
|
19069
|
-
}, styles: ["::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important;border-radius:8px!important;overflow:hidden!important}::ng-deep .pdx-material-select-panel{--pdx-material-select-panel-surface: var( --pdx-overlay-surface, var(--md-sys-color-surface-container-highest, light-dark(#ffffff, #121c28)) );--pdx-material-select-panel-on-surface: var( --pdx-overlay-on-surface, var(--md-sys-color-on-surface, #111827) );--mat-select-panel-background-color: var(--pdx-material-select-panel-surface);--mat-option-label-text-color: var(--pdx-material-select-panel-on-surface);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary, #2563eb);--mat-option-selected-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 12%, var(--pdx-material-select-panel-surface) );--mat-option-hover-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 8%, var(--pdx-material-select-panel-surface) );--mat-option-focus-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 10%, var(--pdx-material-select-panel-surface) );background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border:1px solid var(--md-sys-color-outline-variant, rgba(148, 163, 184, .38))!important;box-shadow:var(--md-sys-elevation-level3, 0 18px 44px rgba(15, 23, 42, .18))!important;color:var(--pdx-material-select-panel-on-surface)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel) div.mat-mdc-select-panel.pdx-material-select-panel{background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border-radius:8px!important;overflow:auto!important}::ng-deep .pdx-material-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-select-panel .pdx-select-search-option input{width:100%}::ng-deep .pdx-material-select-panel .mat-mdc-option{min-height:48px;height:auto}::ng-deep .pdx-material-select-panel .pdx-material-select-option{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}::ng-deep .pdx-material-select-panel .pdx-material-select-option__label,::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{color:color-mix(in srgb,var(--pdx-material-select-panel-on-surface) 68%,transparent);font-size:.75rem}\n"] }]
|
|
19203
|
+
}, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel){z-index:var(--praxis-layer-popup, 1400)!important;border-radius:8px!important;overflow:hidden!important}::ng-deep .pdx-material-select-panel{--pdx-material-select-panel-surface: var( --pdx-overlay-surface, var(--md-sys-color-surface-container-highest, light-dark(#ffffff, #121c28)) );--pdx-material-select-panel-on-surface: var( --pdx-overlay-on-surface, var(--md-sys-color-on-surface, #111827) );--mat-select-panel-background-color: var(--pdx-material-select-panel-surface);--mat-option-label-text-color: var(--pdx-material-select-panel-on-surface);--mat-option-selected-state-label-text-color: var(--md-sys-color-primary, #2563eb);--mat-option-selected-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 12%, var(--pdx-material-select-panel-surface) );--mat-option-hover-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 8%, var(--pdx-material-select-panel-surface) );--mat-option-focus-state-layer-color: color-mix( in srgb, var(--md-sys-color-primary, #2563eb) 10%, var(--pdx-material-select-panel-surface) );background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border:1px solid var(--md-sys-color-outline-variant, rgba(148, 163, 184, .38))!important;box-shadow:var(--md-sys-elevation-level3, 0 18px 44px rgba(15, 23, 42, .18))!important;color:var(--pdx-material-select-panel-on-surface)!important}::ng-deep .cdk-overlay-pane:has(.pdx-material-select-panel) div.mat-mdc-select-panel.pdx-material-select-panel{background-color:var(--pdx-material-select-panel-surface)!important;background-image:none!important;border-radius:8px!important;overflow:auto!important}::ng-deep .pdx-material-select-panel .pdx-select-search-option{box-sizing:border-box;display:block;padding:10px 16px}::ng-deep .pdx-material-select-panel .pdx-select-search-option input{width:100%}::ng-deep .pdx-material-select-panel .mat-mdc-option{min-height:48px;height:auto}::ng-deep .pdx-material-select-panel .pdx-material-select-option{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.2}::ng-deep .pdx-material-select-panel .pdx-material-select-option__label,::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .pdx-material-select-panel .pdx-material-select-option__description{color:color-mix(in srgb,var(--pdx-material-select-panel-on-surface) 68%,transparent);font-size:.75rem}\n"] }]
|
|
19070
19204
|
}], propDecorators: { readonlyMode: [{
|
|
19071
19205
|
type: Input
|
|
19072
19206
|
}], disabledMode: [{
|
|
@@ -19232,21 +19366,36 @@ class MaterialSlideToggleComponent extends SimpleBaseInputComponent {
|
|
|
19232
19366
|
{{ label }}
|
|
19233
19367
|
</mat-slide-toggle>
|
|
19234
19368
|
|
|
19369
|
+
@if (fieldHelpPopoverText()) {
|
|
19370
|
+
<mat-icon
|
|
19371
|
+
class="pdx-field-help-icon"
|
|
19372
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
19373
|
+
matTooltipPosition="above"
|
|
19374
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
19375
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
19376
|
+
tabindex="0"
|
|
19377
|
+
[praxisIcon]="'help_outline'"
|
|
19378
|
+
></mat-icon>
|
|
19379
|
+
}
|
|
19380
|
+
|
|
19235
19381
|
@if (hasValidationError()) {
|
|
19236
19382
|
<div class="pdx-error">{{ errorMessage() }}</div>
|
|
19237
19383
|
}
|
|
19238
|
-
@if (
|
|
19239
|
-
<div class="pdx-hint">{{
|
|
19384
|
+
@if (hasInlineFieldHelp()) {
|
|
19385
|
+
<div class="pdx-hint">{{ fieldHelpInlineText() }}</div>
|
|
19240
19386
|
}
|
|
19241
19387
|
</div>
|
|
19242
|
-
`, isInline: true, styles: [".pdx-slide-toggle-wrapper{display:flex;align-items:center;width:100%;min-height:56px;padding:4px 0;border-radius:var(--md-sys-shape-corner-large, 16px)}.pdx-slide-toggle-wrapper:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent)}:host{display:block;width:100%}mat-slide-toggle{width:
|
|
19388
|
+
`, isInline: true, styles: [".pdx-slide-toggle-wrapper{display:flex;align-items:center;width:100%;min-height:56px;padding:4px 0;border-radius:var(--md-sys-shape-corner-large, 16px)}.pdx-slide-toggle-wrapper:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent)}:host{display:block;width:100%}mat-slide-toggle{flex:1 1 auto;min-width:0}.pdx-field-help-icon{border-radius:999px;flex:0 0 auto;margin-inline-start:4px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i2$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
19243
19389
|
}
|
|
19244
19390
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialSlideToggleComponent, decorators: [{
|
|
19245
19391
|
type: Component,
|
|
19246
19392
|
args: [{ selector: 'pdx-material-slide-toggle', standalone: true, imports: [
|
|
19247
19393
|
ReactiveFormsModule,
|
|
19248
19394
|
MatSlideToggleModule,
|
|
19249
|
-
MatTooltipModule
|
|
19395
|
+
MatTooltipModule,
|
|
19396
|
+
MatIconModule,
|
|
19397
|
+
MatButtonModule,
|
|
19398
|
+
PraxisIconDirective
|
|
19250
19399
|
], template: `
|
|
19251
19400
|
<div
|
|
19252
19401
|
class="pdx-slide-toggle-wrapper"
|
|
@@ -19275,11 +19424,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19275
19424
|
{{ label }}
|
|
19276
19425
|
</mat-slide-toggle>
|
|
19277
19426
|
|
|
19427
|
+
@if (fieldHelpPopoverText()) {
|
|
19428
|
+
<mat-icon
|
|
19429
|
+
class="pdx-field-help-icon"
|
|
19430
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
19431
|
+
matTooltipPosition="above"
|
|
19432
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
19433
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
19434
|
+
tabindex="0"
|
|
19435
|
+
[praxisIcon]="'help_outline'"
|
|
19436
|
+
></mat-icon>
|
|
19437
|
+
}
|
|
19438
|
+
|
|
19278
19439
|
@if (hasValidationError()) {
|
|
19279
19440
|
<div class="pdx-error">{{ errorMessage() }}</div>
|
|
19280
19441
|
}
|
|
19281
|
-
@if (
|
|
19282
|
-
<div class="pdx-hint">{{
|
|
19442
|
+
@if (hasInlineFieldHelp()) {
|
|
19443
|
+
<div class="pdx-hint">{{ fieldHelpInlineText() }}</div>
|
|
19283
19444
|
}
|
|
19284
19445
|
</div>
|
|
19285
19446
|
`, providers: [
|
|
@@ -19297,7 +19458,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19297
19458
|
'[attr.data-field-type]': '"toggle"',
|
|
19298
19459
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
19299
19460
|
'[attr.data-component-id]': 'componentId()',
|
|
19300
|
-
}, styles: [".pdx-slide-toggle-wrapper{display:flex;align-items:center;width:100%;min-height:56px;padding:4px 0;border-radius:var(--md-sys-shape-corner-large, 16px)}.pdx-slide-toggle-wrapper:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent)}:host{display:block;width:100%}mat-slide-toggle{width:
|
|
19461
|
+
}, styles: [".pdx-slide-toggle-wrapper{display:flex;align-items:center;width:100%;min-height:56px;padding:4px 0;border-radius:var(--md-sys-shape-corner-large, 16px)}.pdx-slide-toggle-wrapper:focus-within{outline:2px solid var(--md-sys-color-primary);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent)}:host{display:block;width:100%}mat-slide-toggle{flex:1 1 auto;min-width:0}.pdx-field-help-icon{border-radius:999px;flex:0 0 auto;margin-inline-start:4px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"] }]
|
|
19301
19462
|
}], propDecorators: { readonlyMode: [{
|
|
19302
19463
|
type: Input
|
|
19303
19464
|
}], disabledMode: [{
|
|
@@ -19852,13 +20013,26 @@ class NumberInputComponent extends SimpleBaseInputComponent {
|
|
|
19852
20013
|
></mat-icon>
|
|
19853
20014
|
}
|
|
19854
20015
|
|
|
20016
|
+
@if (fieldHelpPopoverText()) {
|
|
20017
|
+
<mat-icon
|
|
20018
|
+
matSuffix
|
|
20019
|
+
class="pdx-field-help-icon"
|
|
20020
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
20021
|
+
matTooltipPosition="above"
|
|
20022
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
20023
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
20024
|
+
tabindex="0"
|
|
20025
|
+
[praxisIcon]="'help_outline'"
|
|
20026
|
+
></mat-icon>
|
|
20027
|
+
}
|
|
20028
|
+
|
|
19855
20029
|
@if (hasValidationError()) {
|
|
19856
20030
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
19857
20031
|
}
|
|
19858
20032
|
|
|
19859
|
-
@if (
|
|
20033
|
+
@if (hasInlineFieldHelp()) {
|
|
19860
20034
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">{{
|
|
19861
|
-
|
|
20035
|
+
fieldHelpInlineText()
|
|
19862
20036
|
}}</mat-hint>
|
|
19863
20037
|
}
|
|
19864
20038
|
|
|
@@ -19880,14 +20054,11 @@ class NumberInputComponent extends SimpleBaseInputComponent {
|
|
|
19880
20054
|
</button>
|
|
19881
20055
|
}
|
|
19882
20056
|
</mat-form-field>
|
|
19883
|
-
`, isInline: true, dependencies: [{ 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
20057
|
+
`, isInline: true, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"], dependencies: [{ 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
19884
20058
|
}
|
|
19885
20059
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NumberInputComponent, decorators: [{
|
|
19886
20060
|
type: Component,
|
|
19887
|
-
args: [{
|
|
19888
|
-
selector: 'pdx-number-input',
|
|
19889
|
-
standalone: true,
|
|
19890
|
-
template: `
|
|
20061
|
+
args: [{ selector: 'pdx-number-input', standalone: true, template: `
|
|
19891
20062
|
<mat-form-field
|
|
19892
20063
|
[appearance]="materialAppearance()"
|
|
19893
20064
|
[color]="materialColor()"
|
|
@@ -19934,13 +20105,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19934
20105
|
></mat-icon>
|
|
19935
20106
|
}
|
|
19936
20107
|
|
|
20108
|
+
@if (fieldHelpPopoverText()) {
|
|
20109
|
+
<mat-icon
|
|
20110
|
+
matSuffix
|
|
20111
|
+
class="pdx-field-help-icon"
|
|
20112
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
20113
|
+
matTooltipPosition="above"
|
|
20114
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
20115
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
20116
|
+
tabindex="0"
|
|
20117
|
+
[praxisIcon]="'help_outline'"
|
|
20118
|
+
></mat-icon>
|
|
20119
|
+
}
|
|
20120
|
+
|
|
19937
20121
|
@if (hasValidationError()) {
|
|
19938
20122
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
19939
20123
|
}
|
|
19940
20124
|
|
|
19941
|
-
@if (
|
|
20125
|
+
@if (hasInlineFieldHelp()) {
|
|
19942
20126
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">{{
|
|
19943
|
-
|
|
20127
|
+
fieldHelpInlineText()
|
|
19944
20128
|
}}</mat-hint>
|
|
19945
20129
|
}
|
|
19946
20130
|
|
|
@@ -19962,8 +20146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19962
20146
|
</button>
|
|
19963
20147
|
}
|
|
19964
20148
|
</mat-form-field>
|
|
19965
|
-
`,
|
|
19966
|
-
imports: [
|
|
20149
|
+
`, imports: [
|
|
19967
20150
|
MatFormFieldModule,
|
|
19968
20151
|
MatInputModule,
|
|
19969
20152
|
MatIconModule,
|
|
@@ -19971,15 +20154,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19971
20154
|
MatButtonModule,
|
|
19972
20155
|
PraxisIconDirective,
|
|
19973
20156
|
ReactiveFormsModule
|
|
19974
|
-
],
|
|
19975
|
-
providers: [
|
|
20157
|
+
], providers: [
|
|
19976
20158
|
{
|
|
19977
20159
|
provide: NG_VALUE_ACCESSOR,
|
|
19978
20160
|
useExisting: forwardRef(() => NumberInputComponent),
|
|
19979
20161
|
multi: true,
|
|
19980
20162
|
},
|
|
19981
|
-
],
|
|
19982
|
-
host: {
|
|
20163
|
+
], host: {
|
|
19983
20164
|
'[class]': 'componentCssClasses()',
|
|
19984
20165
|
'[class.praxis-disabled]': 'disabledMode',
|
|
19985
20166
|
'[style.display]': 'visible ? "block" : "none"',
|
|
@@ -19988,8 +20169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
19988
20169
|
'[attr.data-field-type]': '"numericTextBox"',
|
|
19989
20170
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
19990
20171
|
'[attr.data-component-id]': 'componentId()',
|
|
19991
|
-
},
|
|
19992
|
-
}]
|
|
20172
|
+
}, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"] }]
|
|
19993
20173
|
}], propDecorators: { validationChange: [{ type: i0.Output, args: ["validationChange"] }], readonlyMode: [{
|
|
19994
20174
|
type: Input
|
|
19995
20175
|
}], disabledMode: [{
|
|
@@ -20688,6 +20868,19 @@ class TextInputComponent extends SimpleBaseInputComponent {
|
|
|
20688
20868
|
></mat-icon>
|
|
20689
20869
|
}
|
|
20690
20870
|
|
|
20871
|
+
@if (fieldHelpPopoverText()) {
|
|
20872
|
+
<mat-icon
|
|
20873
|
+
matSuffix
|
|
20874
|
+
class="pdx-field-help-icon"
|
|
20875
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
20876
|
+
matTooltipPosition="above"
|
|
20877
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
20878
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
20879
|
+
tabindex="0"
|
|
20880
|
+
[praxisIcon]="'help_outline'"
|
|
20881
|
+
></mat-icon>
|
|
20882
|
+
}
|
|
20883
|
+
|
|
20691
20884
|
@if (showClear()) {
|
|
20692
20885
|
<button
|
|
20693
20886
|
mat-icon-button
|
|
@@ -20710,9 +20903,9 @@ class TextInputComponent extends SimpleBaseInputComponent {
|
|
|
20710
20903
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
20711
20904
|
}
|
|
20712
20905
|
|
|
20713
|
-
@if (
|
|
20906
|
+
@if (hasInlineFieldHelp()) {
|
|
20714
20907
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">{{
|
|
20715
|
-
|
|
20908
|
+
fieldHelpInlineText()
|
|
20716
20909
|
}}</mat-hint>
|
|
20717
20910
|
}
|
|
20718
20911
|
|
|
@@ -20723,14 +20916,11 @@ class TextInputComponent extends SimpleBaseInputComponent {
|
|
|
20723
20916
|
</mat-hint>
|
|
20724
20917
|
}
|
|
20725
20918
|
</mat-form-field>
|
|
20726
|
-
`, isInline: true, dependencies: [{ 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: "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: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
20919
|
+
`, isInline: true, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"], dependencies: [{ 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: "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: MatFormFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
20727
20920
|
}
|
|
20728
20921
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
20729
20922
|
type: Component,
|
|
20730
|
-
args: [{
|
|
20731
|
-
selector: 'pdx-text-input',
|
|
20732
|
-
standalone: true,
|
|
20733
|
-
template: `
|
|
20923
|
+
args: [{ selector: 'pdx-text-input', standalone: true, template: `
|
|
20734
20924
|
<mat-form-field
|
|
20735
20925
|
[appearance]="materialAppearance()"
|
|
20736
20926
|
[color]="materialColor()"
|
|
@@ -20780,6 +20970,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20780
20970
|
></mat-icon>
|
|
20781
20971
|
}
|
|
20782
20972
|
|
|
20973
|
+
@if (fieldHelpPopoverText()) {
|
|
20974
|
+
<mat-icon
|
|
20975
|
+
matSuffix
|
|
20976
|
+
class="pdx-field-help-icon"
|
|
20977
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
20978
|
+
matTooltipPosition="above"
|
|
20979
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
20980
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
20981
|
+
tabindex="0"
|
|
20982
|
+
[praxisIcon]="'help_outline'"
|
|
20983
|
+
></mat-icon>
|
|
20984
|
+
}
|
|
20985
|
+
|
|
20783
20986
|
@if (showClear()) {
|
|
20784
20987
|
<button
|
|
20785
20988
|
mat-icon-button
|
|
@@ -20802,9 +21005,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20802
21005
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
20803
21006
|
}
|
|
20804
21007
|
|
|
20805
|
-
@if (
|
|
21008
|
+
@if (hasInlineFieldHelp()) {
|
|
20806
21009
|
<mat-hint [align]="metadata()?.hintAlign || 'start'">{{
|
|
20807
|
-
|
|
21010
|
+
fieldHelpInlineText()
|
|
20808
21011
|
}}</mat-hint>
|
|
20809
21012
|
}
|
|
20810
21013
|
|
|
@@ -20815,8 +21018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20815
21018
|
</mat-hint>
|
|
20816
21019
|
}
|
|
20817
21020
|
</mat-form-field>
|
|
20818
|
-
`,
|
|
20819
|
-
imports: [
|
|
21021
|
+
`, imports: [
|
|
20820
21022
|
MatInputModule,
|
|
20821
21023
|
MatFormFieldModule,
|
|
20822
21024
|
MatIconModule,
|
|
@@ -20824,15 +21026,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20824
21026
|
MatButtonModule,
|
|
20825
21027
|
PraxisIconDirective,
|
|
20826
21028
|
ReactiveFormsModule
|
|
20827
|
-
],
|
|
20828
|
-
providers: [
|
|
21029
|
+
], providers: [
|
|
20829
21030
|
{
|
|
20830
21031
|
provide: NG_VALUE_ACCESSOR,
|
|
20831
21032
|
useExisting: forwardRef(() => TextInputComponent),
|
|
20832
21033
|
multi: true,
|
|
20833
21034
|
},
|
|
20834
|
-
],
|
|
20835
|
-
host: {
|
|
21035
|
+
], host: {
|
|
20836
21036
|
'[class]': 'componentCssClasses()',
|
|
20837
21037
|
'[class.praxis-disabled]': 'disabledMode',
|
|
20838
21038
|
'[style.display]': 'visible ? "block" : "none"',
|
|
@@ -20841,8 +21041,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
20841
21041
|
'[attr.data-field-type]': '"input"',
|
|
20842
21042
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
20843
21043
|
'[attr.data-component-id]': 'componentId()',
|
|
20844
|
-
},
|
|
20845
|
-
}]
|
|
21044
|
+
}, styles: [".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"] }]
|
|
20846
21045
|
}], propDecorators: { validationChange: [{ type: i0.Output, args: ["validationChange"] }], readonlyMode: [{
|
|
20847
21046
|
type: Input
|
|
20848
21047
|
}], disabledMode: [{
|
|
@@ -29084,6 +29283,18 @@ class MaterialAutocompleteComponent extends SimpleBaseSelectComponent {
|
|
|
29084
29283
|
[praxisIcon]="metadata()!.suffixIcon"
|
|
29085
29284
|
></mat-icon>
|
|
29086
29285
|
}
|
|
29286
|
+
@if (fieldHelpPopoverText()) {
|
|
29287
|
+
<mat-icon
|
|
29288
|
+
matSuffix
|
|
29289
|
+
class="pdx-field-help-icon"
|
|
29290
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
29291
|
+
matTooltipPosition="above"
|
|
29292
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
29293
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
29294
|
+
tabindex="0"
|
|
29295
|
+
[praxisIcon]="'help_outline'"
|
|
29296
|
+
></mat-icon>
|
|
29297
|
+
}
|
|
29087
29298
|
@if (showClear()) {
|
|
29088
29299
|
<button
|
|
29089
29300
|
mat-icon-button
|
|
@@ -29104,11 +29315,11 @@ class MaterialAutocompleteComponent extends SimpleBaseSelectComponent {
|
|
|
29104
29315
|
@if (hasValidationError()) {
|
|
29105
29316
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
29106
29317
|
}
|
|
29107
|
-
@if (
|
|
29108
|
-
<mat-hint>{{
|
|
29318
|
+
@if (hasInlineFieldHelp()) {
|
|
29319
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
29109
29320
|
}
|
|
29110
29321
|
</mat-form-field>
|
|
29111
|
-
`, isInline: true, styles: [":host ::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .cdk-overlay-pane:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .pdx-autocomplete-panel .pdx-autocomplete-viewport{height:256px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i8.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
29322
|
+
`, isInline: true, styles: [":host ::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .cdk-overlay-pane:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .pdx-autocomplete-panel .pdx-autocomplete-viewport{height:256px}\n", ".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i8.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i8.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i8.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { 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: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
29112
29323
|
}
|
|
29113
29324
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: MaterialAutocompleteComponent, decorators: [{
|
|
29114
29325
|
type: Component,
|
|
@@ -29197,6 +29408,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
29197
29408
|
[praxisIcon]="metadata()!.suffixIcon"
|
|
29198
29409
|
></mat-icon>
|
|
29199
29410
|
}
|
|
29411
|
+
@if (fieldHelpPopoverText()) {
|
|
29412
|
+
<mat-icon
|
|
29413
|
+
matSuffix
|
|
29414
|
+
class="pdx-field-help-icon"
|
|
29415
|
+
[matTooltip]="fieldHelpPopoverText()"
|
|
29416
|
+
matTooltipPosition="above"
|
|
29417
|
+
[matTooltipDisabled]="fieldHelpPopoverDisabled()"
|
|
29418
|
+
[attr.aria-label]="fieldHelpAriaLabel()"
|
|
29419
|
+
tabindex="0"
|
|
29420
|
+
[praxisIcon]="'help_outline'"
|
|
29421
|
+
></mat-icon>
|
|
29422
|
+
}
|
|
29200
29423
|
@if (showClear()) {
|
|
29201
29424
|
<button
|
|
29202
29425
|
mat-icon-button
|
|
@@ -29217,8 +29440,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
29217
29440
|
@if (hasValidationError()) {
|
|
29218
29441
|
<mat-error>{{ errorMessage() }}</mat-error>
|
|
29219
29442
|
}
|
|
29220
|
-
@if (
|
|
29221
|
-
<mat-hint>{{
|
|
29443
|
+
@if (hasInlineFieldHelp()) {
|
|
29444
|
+
<mat-hint>{{ fieldHelpInlineText() }}</mat-hint>
|
|
29222
29445
|
}
|
|
29223
29446
|
</mat-form-field>
|
|
29224
29447
|
`, providers: [
|
|
@@ -29236,7 +29459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
29236
29459
|
'[attr.data-field-type]': '"autocomplete"',
|
|
29237
29460
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
29238
29461
|
'[attr.data-component-id]': 'componentId()',
|
|
29239
|
-
}, styles: [":host ::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .cdk-overlay-pane:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .pdx-autocomplete-panel .pdx-autocomplete-viewport{height:256px}\n"] }]
|
|
29462
|
+
}, styles: [":host ::ng-deep .cdk-overlay-connected-position-bounding-box:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .cdk-overlay-pane:has(.pdx-autocomplete-panel){z-index:var(--praxis-layer-popup, 1400)!important}:host ::ng-deep .pdx-autocomplete-panel .pdx-autocomplete-viewport{height:256px}\n", ".pdx-field-help-icon{border-radius:999px;color:var(--md-sys-color-on-surface-variant);cursor:help}.pdx-field-help-icon:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}\n"] }]
|
|
29240
29463
|
}], propDecorators: { readonlyMode: [{
|
|
29241
29464
|
type: Input
|
|
29242
29465
|
}], disabledMode: [{
|
|
@@ -53821,7 +54044,6 @@ class MaterialButtonToggleComponent extends SimpleBaseSelectComponent {
|
|
|
53821
54044
|
<mat-button-toggle-group
|
|
53822
54045
|
[formControl]="control()"
|
|
53823
54046
|
[multiple]="multiple()"
|
|
53824
|
-
[disabled]="toggleInteractionDisabled()"
|
|
53825
54047
|
[appearance]="metadata()?.appearance || 'legacy'"
|
|
53826
54048
|
[attr.aria-disabled]="toggleAriaDisabled()"
|
|
53827
54049
|
[attr.aria-invalid]="ariaInvalidAttribute()"
|
|
@@ -53869,7 +54091,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
53869
54091
|
<mat-button-toggle-group
|
|
53870
54092
|
[formControl]="control()"
|
|
53871
54093
|
[multiple]="multiple()"
|
|
53872
|
-
[disabled]="toggleInteractionDisabled()"
|
|
53873
54094
|
[appearance]="metadata()?.appearance || 'legacy'"
|
|
53874
54095
|
[attr.aria-disabled]="toggleAriaDisabled()"
|
|
53875
54096
|
[attr.aria-invalid]="ariaInvalidAttribute()"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-fields",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.25",
|
|
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.
|
|
15
|
-
"@praxisui/cron-builder": "^9.0.0-beta.
|
|
14
|
+
"@praxisui/core": "^9.0.0-beta.25",
|
|
15
|
+
"@praxisui/cron-builder": "^9.0.0-beta.25"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"libphonenumber-js": "^1.12.41",
|
|
@@ -349,6 +349,9 @@ Limites:
|
|
|
349
349
|
| `metadata.validators.showInlineErrors` | `boolean` | Active | Forca/desliga exibicao inline de erros. |
|
|
350
350
|
| `metadata.errorStateMatcher` | enum | Active | Estrategia de estado de erro usada pelo matcher utilitario. |
|
|
351
351
|
| `metadata.hint` | `string` | Active | Exibe dica quando nao ha erro. |
|
|
352
|
+
| `metadata.helpText` | `string` | Active | Texto de ajuda semantica publicado por DTO/schema; usado como fallback quando `hint` nao foi informado. |
|
|
353
|
+
| `metadata.helpDisplay` | `'auto' \| 'inline' \| 'popover' \| 'hidden'` | Active | Politica efetiva de apresentacao de `hint`/`helpText`; normalmente materializada pelo host `praxis-dynamic-form` a partir de `FormConfig.helpPresentation`. |
|
|
354
|
+
| `metadata.helpInlineMaxLength` | `number` | Active | Limite local usado quando `metadata.helpDisplay` e `auto`; textos acima do limite migram para affordance de ajuda. |
|
|
352
355
|
| `metadata.hintAlign` | `'start' \| 'end'` | Active | Alinhamento da dica. |
|
|
353
356
|
| `metadata.materialDesign.appearance` | `'fill' \| 'outline'` | Active | Aparencia do `mat-form-field`. |
|
|
354
357
|
| `metadata.materialDesign.color` | `'primary' \| 'accent' \| 'warn'` | Active | Cor do `mat-form-field`. |
|
|
@@ -373,6 +376,19 @@ Limites:
|
|
|
373
376
|
| `metadata.ariaDescribedby` | `string` | Active | `aria-describedby` no elemento nativo. |
|
|
374
377
|
| `metadata.ariaLabelledby` | `string` | Active | `aria-labelledby` no elemento nativo. |
|
|
375
378
|
|
|
379
|
+
#### Ajuda contextual em migracoes corporativas
|
|
380
|
+
|
|
381
|
+
`metadata.helpText` pertence ao DTO/schema quando descreve semantica de negocio, impacto operacional ou criterio de decisao do campo. Ele nao deve ser gerado a partir de label, nome tecnico ou heuristica local.
|
|
382
|
+
|
|
383
|
+
Use `metadata.helpDisplay` para excecoes por campo:
|
|
384
|
+
|
|
385
|
+
- `inline`: texto curto que deve permanecer visivel para evitar erro operacional;
|
|
386
|
+
- `popover`: texto longo, raro ou de apoio decisorio;
|
|
387
|
+
- `hidden`: ajuda publicada mas inadequada para a superficie atual;
|
|
388
|
+
- `auto`: delega a politica do host e ao limite `helpInlineMaxLength`.
|
|
389
|
+
|
|
390
|
+
Em formularios densos, o host deve preferir uma politica global como `FormConfig.helpPresentation.display = "auto"` e mover textos longos para a affordance de ajuda. Mensagens de validacao continuam no canal de erro do campo e nao devem ser convertidas em `helpText`.
|
|
391
|
+
|
|
376
392
|
#### Politica de label com prefixos e sufixos
|
|
377
393
|
|
|
378
394
|
Quando um campo usa `metadata.prefixIcon`, `metadata.suffixIcon`, `clearButton`,
|
|
@@ -3,7 +3,7 @@ import { WritableSignal, InjectionToken, Provider, OnInit, OnDestroy, AfterViewI
|
|
|
3
3
|
import { AbstractControl, ControlValueAccessor, NgControl, ValidationErrors, FormControl, FormGroup, FormArray, FormGroupDirective, NgForm } from '@angular/forms';
|
|
4
4
|
import { Observable, BehaviorSubject, Subscription } from 'rxjs';
|
|
5
5
|
import * as _praxisui_core from '@praxisui/core';
|
|
6
|
-
import { ComponentMetadata, PraxisTextValue, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nMessageDescriptor, PraxisI18nService, GlobalActionService, GlobalActionRef, OptionSourceMetadata, GenericCrudService, GlobalConfigService, OptionDTO, ComponentMetadataEditorialDescriptor, ComponentDocMeta, ComponentMetadataRegistry, FieldMetadata, MaterialButtonMetadata, FieldArrayConfig, MaterialInputMetadata, MaterialColorInputMetadata, MaterialDateInputMetadata, MaterialDatepickerMetadata, MaterialDateRangeMetadata, DateRangePreset, DateRangeValue, MaterialDatetimeLocalInputMetadata, MaterialEmailInputMetadata, MaterialTextareaMetadata, MaterialNumericMetadata, MaterialCurrencyMetadata, MaterialCpfCnpjMetadata, MaterialPriceRangeMetadata, MaterialMonthInputMetadata, MaterialPasswordMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, LookupFilterRequest, LookupFilteringMetadata, LookupSortOptionMetadata, LookupFilterDefinitionMetadata, MaterialEntityLookupMetadata, LookupStatusTone, EntityLookupResultState, EntityLookupResult, LookupDialogMetadata, LookupFilterOperator, LookupFilterFieldType, LookupResultColumnMetadata, MaterialAutocompleteMetadata, RangeSliderMark, RangeSliderSemanticTone, MaterialToggleMetadata, MaterialRangeSliderMetadata, RangeSliderValue, InlinePeriodRangeMetadata, FieldControlType, MaterialTimepickerMetadata, MaterialTimeRangeMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialMultiSelectTreeMetadata, MaterialChipsMetadata, RangeSliderSemanticBand, MaterialSliderMetadata, MaterialPhoneMetadata, MaterialTimeInputMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialColorPickerMetadata, MaterialYearInputMetadata, CapabilityCatalog, ComponentAuthoringManifest, ManifestControlProfile } from '@praxisui/core';
|
|
6
|
+
import { ComponentMetadata, PraxisTextValue, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nMessageDescriptor, PraxisI18nService, FormFieldHelpDisplay, GlobalActionService, GlobalActionRef, OptionSourceMetadata, GenericCrudService, GlobalConfigService, OptionDTO, ComponentMetadataEditorialDescriptor, ComponentDocMeta, ComponentMetadataRegistry, FieldMetadata, MaterialButtonMetadata, FieldArrayConfig, MaterialInputMetadata, MaterialColorInputMetadata, MaterialDateInputMetadata, MaterialDatepickerMetadata, MaterialDateRangeMetadata, DateRangePreset, DateRangeValue, MaterialDatetimeLocalInputMetadata, MaterialEmailInputMetadata, MaterialTextareaMetadata, MaterialNumericMetadata, MaterialCurrencyMetadata, MaterialCpfCnpjMetadata, MaterialPriceRangeMetadata, MaterialMonthInputMetadata, MaterialPasswordMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, LookupFilterRequest, LookupFilteringMetadata, LookupSortOptionMetadata, LookupFilterDefinitionMetadata, MaterialEntityLookupMetadata, LookupStatusTone, EntityLookupResultState, EntityLookupResult, LookupDialogMetadata, LookupFilterOperator, LookupFilterFieldType, LookupResultColumnMetadata, MaterialAutocompleteMetadata, RangeSliderMark, RangeSliderSemanticTone, MaterialToggleMetadata, MaterialRangeSliderMetadata, RangeSliderValue, InlinePeriodRangeMetadata, FieldControlType, MaterialTimepickerMetadata, MaterialTimeRangeMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialMultiSelectTreeMetadata, MaterialChipsMetadata, RangeSliderSemanticBand, MaterialSliderMetadata, MaterialPhoneMetadata, MaterialTimeInputMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialColorPickerMetadata, MaterialYearInputMetadata, CapabilityCatalog, ComponentAuthoringManifest, ManifestControlProfile } from '@praxisui/core';
|
|
7
7
|
import { Router } from '@angular/router';
|
|
8
8
|
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
9
9
|
import { MatSelect } from '@angular/material/select';
|
|
@@ -660,6 +660,13 @@ declare abstract class SimpleBaseInputComponent implements ControlValueAccessor,
|
|
|
660
660
|
protected isInlineContextTooltipEnabled(): boolean;
|
|
661
661
|
protected resolveInlineContextTooltipValue(): string;
|
|
662
662
|
protected resolveInlineHelpTooltipText(): string;
|
|
663
|
+
fieldHelpText(): string;
|
|
664
|
+
fieldHelpDisplay(): FormFieldHelpDisplay;
|
|
665
|
+
hasInlineFieldHelp(): boolean;
|
|
666
|
+
fieldHelpInlineText(): string;
|
|
667
|
+
fieldHelpPopoverText(): string;
|
|
668
|
+
fieldHelpPopoverDisabled(): boolean;
|
|
669
|
+
fieldHelpAriaLabel(): string;
|
|
663
670
|
protected isInteractionBlockedByState(options?: {
|
|
664
671
|
readonly includeReadonly?: boolean;
|
|
665
672
|
readonly includePresentation?: boolean;
|