@praxisui/dynamic-fields 3.0.0-beta.2 → 3.0.0-beta.4
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.
|
@@ -197,7 +197,18 @@ const PRAXIS_DYNAMIC_FIELDS_EN_US = {
|
|
|
197
197
|
'praxis.dynamicFields.inlineCurrencyRange.ariaSelection': '{{label}}: {{value}}',
|
|
198
198
|
'praxis.dynamicFields.inlineCurrencyRange.value.from': '>= {{value}}',
|
|
199
199
|
'praxis.dynamicFields.inlineCurrencyRange.value.upto': '<= {{value}}',
|
|
200
|
-
'praxis.dynamicFields.inlineSelect.placeholder': '
|
|
200
|
+
'praxis.dynamicFields.inlineSelect.placeholder': 'Select',
|
|
201
|
+
'praxis.dynamicFields.inlinePipelineStatus.placeholder': 'Pipeline',
|
|
202
|
+
'praxis.dynamicFields.inlinePipelineStatus.panelSubtitle': 'Configurable panel for stages, statuses, or priorities',
|
|
203
|
+
'praxis.dynamicFields.inlinePipelineStatus.searchPlaceholder': 'Search stages...',
|
|
204
|
+
'praxis.dynamicFields.inlinePipelineStatus.selectionActionsAriaLabel': 'Selection actions',
|
|
205
|
+
'praxis.dynamicFields.inlinePipelineStatus.clearActionLabel': 'Clear',
|
|
206
|
+
'praxis.dynamicFields.inlinePipelineStatus.selectionPillsAriaLabel': 'Selected items',
|
|
207
|
+
'praxis.dynamicFields.inlinePipelineStatus.barAriaEmpty': '{{label}} with no selected items',
|
|
208
|
+
'praxis.dynamicFields.inlinePipelineStatus.barAriaSelected': '{{label}} with {{count}} selected items',
|
|
209
|
+
'praxis.dynamicFields.inlinePipelineStatus.optionsGroupAriaLabelMultiple': 'Multiple selection options',
|
|
210
|
+
'praxis.dynamicFields.inlinePipelineStatus.optionsGroupAriaLabelSingle': 'Single selection options',
|
|
211
|
+
'praxis.dynamicFields.inlinePipelineStatus.emptyStateText': 'No options found',
|
|
201
212
|
'praxis.dynamicFields.inlineSelect.searchPlaceholder': 'Search...',
|
|
202
213
|
'praxis.dynamicFields.inlineTreeSelect.placeholder': 'Tree',
|
|
203
214
|
'praxis.dynamicFields.inlineTreeSelect.searchPlaceholder': 'Search tree...',
|
|
@@ -354,7 +365,18 @@ const PRAXIS_DYNAMIC_FIELDS_PT_BR = {
|
|
|
354
365
|
'praxis.dynamicFields.inlineCurrencyRange.ariaSelection': '{{label}}: {{value}}',
|
|
355
366
|
'praxis.dynamicFields.inlineCurrencyRange.value.from': '>= {{value}}',
|
|
356
367
|
'praxis.dynamicFields.inlineCurrencyRange.value.upto': '<= {{value}}',
|
|
357
|
-
'praxis.dynamicFields.inlineSelect.placeholder': '
|
|
368
|
+
'praxis.dynamicFields.inlineSelect.placeholder': 'Selecionar',
|
|
369
|
+
'praxis.dynamicFields.inlinePipelineStatus.placeholder': 'Pipeline',
|
|
370
|
+
'praxis.dynamicFields.inlinePipelineStatus.panelSubtitle': 'Painel de seleção configurável para estágios, status ou prioridades',
|
|
371
|
+
'praxis.dynamicFields.inlinePipelineStatus.searchPlaceholder': 'Pesquisar estágios...',
|
|
372
|
+
'praxis.dynamicFields.inlinePipelineStatus.selectionActionsAriaLabel': 'Ações da seleção',
|
|
373
|
+
'praxis.dynamicFields.inlinePipelineStatus.clearActionLabel': 'Limpar',
|
|
374
|
+
'praxis.dynamicFields.inlinePipelineStatus.selectionPillsAriaLabel': 'Itens selecionados',
|
|
375
|
+
'praxis.dynamicFields.inlinePipelineStatus.barAriaEmpty': '{{label}} sem itens selecionados',
|
|
376
|
+
'praxis.dynamicFields.inlinePipelineStatus.barAriaSelected': '{{label}} com {{count}} itens selecionados',
|
|
377
|
+
'praxis.dynamicFields.inlinePipelineStatus.optionsGroupAriaLabelMultiple': 'Opções de seleção múltipla',
|
|
378
|
+
'praxis.dynamicFields.inlinePipelineStatus.optionsGroupAriaLabelSingle': 'Opções de seleção única',
|
|
379
|
+
'praxis.dynamicFields.inlinePipelineStatus.emptyStateText': 'Nenhuma opção encontrada',
|
|
358
380
|
'praxis.dynamicFields.inlineSelect.searchPlaceholder': 'Pesquisar...',
|
|
359
381
|
'praxis.dynamicFields.inlineTreeSelect.placeholder': 'Árvore',
|
|
360
382
|
'praxis.dynamicFields.inlineTreeSelect.searchPlaceholder': 'Buscar na árvore...',
|
|
@@ -557,7 +579,7 @@ class SimpleBaseInputComponent {
|
|
|
557
579
|
const enabled = typeof cfg === 'boolean' ? cfg : cfg.enabled !== false;
|
|
558
580
|
if (!enabled)
|
|
559
581
|
return false;
|
|
560
|
-
if (this.
|
|
582
|
+
if (this.isInteractionBlockedByState()) {
|
|
561
583
|
return false;
|
|
562
584
|
}
|
|
563
585
|
if (cfg !== true && cfg?.showOnlyWhenFilled) {
|
|
@@ -737,13 +759,18 @@ class SimpleBaseInputComponent {
|
|
|
737
759
|
/**
|
|
738
760
|
* Tooltip usado pelos campos inline:
|
|
739
761
|
* 1) prioriza erro quando validators.errorPosition = tooltip
|
|
740
|
-
* 2)
|
|
762
|
+
* 2) materializa help text explícito do metadata (tooltip/hint)
|
|
763
|
+
* 3) fallback para contexto "Campo: valor" quando houver valor preenchido
|
|
741
764
|
*/
|
|
742
765
|
inlineTooltipText() {
|
|
743
766
|
const validationTooltip = this.tooltipEnabled() ? String(this.errorMessage() || '').trim() : '';
|
|
744
767
|
if (validationTooltip.length) {
|
|
745
768
|
return validationTooltip;
|
|
746
769
|
}
|
|
770
|
+
const explicitHelpTooltip = this.resolveInlineHelpTooltipText();
|
|
771
|
+
if (explicitHelpTooltip.length) {
|
|
772
|
+
return explicitHelpTooltip;
|
|
773
|
+
}
|
|
747
774
|
if (!this.isInlineContextTooltipEnabled()) {
|
|
748
775
|
return '';
|
|
749
776
|
}
|
|
@@ -774,6 +801,28 @@ class SimpleBaseInputComponent {
|
|
|
774
801
|
resolveInlineContextTooltipValue() {
|
|
775
802
|
return this.stringifyInlineContextValue(this.control().value);
|
|
776
803
|
}
|
|
804
|
+
resolveInlineHelpTooltipText() {
|
|
805
|
+
const meta = this.metadata();
|
|
806
|
+
const candidates = [
|
|
807
|
+
meta?.inlineTooltip,
|
|
808
|
+
meta?.tooltip,
|
|
809
|
+
meta?.hint,
|
|
810
|
+
];
|
|
811
|
+
for (const candidate of candidates) {
|
|
812
|
+
const text = String(candidate ?? '').trim();
|
|
813
|
+
if (text.length) {
|
|
814
|
+
return this.truncateInlineTooltipText(text);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
return '';
|
|
818
|
+
}
|
|
819
|
+
isInteractionBlockedByState(options) {
|
|
820
|
+
const includeReadonly = options?.includeReadonly !== false;
|
|
821
|
+
const includePresentation = options?.includePresentation !== false;
|
|
822
|
+
const readonlyBlocked = includeReadonly && !!this.isReadonlyEffective?.();
|
|
823
|
+
const presentationBlocked = includePresentation && !!this.presentationMode;
|
|
824
|
+
return !!this.disabledMode || this.control().disabled || readonlyBlocked || presentationBlocked;
|
|
825
|
+
}
|
|
777
826
|
resolveInlineContextTooltipLabel() {
|
|
778
827
|
const meta = this.metadata();
|
|
779
828
|
const candidates = [
|
|
@@ -869,6 +918,11 @@ class SimpleBaseInputComponent {
|
|
|
869
918
|
const componentState = this.componentState();
|
|
870
919
|
const ngControl = this.getNgControl();
|
|
871
920
|
const parentInvalid = !!ngControl?.invalid;
|
|
921
|
+
const parentTouched = !!ngControl?.touched;
|
|
922
|
+
const parentDirty = !!ngControl?.dirty;
|
|
923
|
+
const controlState = this.control();
|
|
924
|
+
const controlTouched = !!controlState.touched;
|
|
925
|
+
const controlDirty = !!controlState.dirty;
|
|
872
926
|
const errors = ngControl?.errors ?? this.control().errors;
|
|
873
927
|
const meta = this.metadata();
|
|
874
928
|
const trig = meta?.validators?.validationTrigger;
|
|
@@ -883,13 +937,19 @@ class SimpleBaseInputComponent {
|
|
|
883
937
|
case 'immediate':
|
|
884
938
|
return true;
|
|
885
939
|
case 'blur':
|
|
886
|
-
return componentState.touched;
|
|
940
|
+
return componentState.touched || parentTouched || controlTouched;
|
|
887
941
|
case 'submit':
|
|
888
942
|
// Praxis onSubmit marca todos como touched; usamos esse sinal
|
|
889
|
-
return componentState.touched;
|
|
943
|
+
return componentState.touched || parentTouched || controlTouched;
|
|
890
944
|
case 'change':
|
|
891
945
|
default:
|
|
892
|
-
return (componentState.dirty
|
|
946
|
+
return (componentState.dirty
|
|
947
|
+
|| componentState.touched
|
|
948
|
+
|| parentDirty
|
|
949
|
+
|| parentTouched
|
|
950
|
+
|| controlDirty
|
|
951
|
+
|| controlTouched)
|
|
952
|
+
&& this.errorDisplayReady();
|
|
893
953
|
}
|
|
894
954
|
}, ...(ngDevMode ? [{ debugName: "hasValidationError" }] : []));
|
|
895
955
|
/** CSS classes básicas do componente */
|
|
@@ -1365,6 +1425,9 @@ class SimpleBaseInputComponent {
|
|
|
1365
1425
|
this.nativeElement.setAttribute('aria-label', meta.ariaLabel);
|
|
1366
1426
|
if (meta.ariaDescribedby)
|
|
1367
1427
|
this.nativeElement.setAttribute('aria-describedby', meta.ariaDescribedby);
|
|
1428
|
+
else if (meta.hint) {
|
|
1429
|
+
this.nativeElement.setAttribute('aria-description', String(meta.hint));
|
|
1430
|
+
}
|
|
1368
1431
|
if (meta.ariaLabelledby)
|
|
1369
1432
|
this.nativeElement.setAttribute('aria-labelledby', meta.ariaLabelledby);
|
|
1370
1433
|
if (meta.required !== undefined) {
|
|
@@ -1492,10 +1555,12 @@ class SimpleBaseInputComponent {
|
|
|
1492
1555
|
// =============================================================================
|
|
1493
1556
|
setupFormControlIntegration() {
|
|
1494
1557
|
const control = this.control();
|
|
1558
|
+
this.syncComponentStateFromControl(control);
|
|
1495
1559
|
control.valueChanges
|
|
1496
1560
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
1497
1561
|
.subscribe((value) => {
|
|
1498
1562
|
this.fieldState.update((state) => ({ ...state, value }));
|
|
1563
|
+
this.syncComponentStateFromControl(control);
|
|
1499
1564
|
});
|
|
1500
1565
|
control.statusChanges
|
|
1501
1566
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
@@ -1505,6 +1570,7 @@ class SimpleBaseInputComponent {
|
|
|
1505
1570
|
valid: status === 'VALID',
|
|
1506
1571
|
errors: control.errors,
|
|
1507
1572
|
}));
|
|
1573
|
+
this.syncComponentStateFromControl(control);
|
|
1508
1574
|
this.refreshErrorTooltip();
|
|
1509
1575
|
});
|
|
1510
1576
|
// Sincronizar erros/estado do controle pai apenas quando usando controle interno
|
|
@@ -1520,35 +1586,51 @@ class SimpleBaseInputComponent {
|
|
|
1520
1586
|
errors: errs,
|
|
1521
1587
|
valid: !errs,
|
|
1522
1588
|
}));
|
|
1589
|
+
this.syncComponentStateFromControl(control);
|
|
1523
1590
|
this.refreshErrorTooltip();
|
|
1524
1591
|
this.cdr.markForCheck();
|
|
1525
1592
|
});
|
|
1526
1593
|
}
|
|
1527
1594
|
}
|
|
1595
|
+
syncComponentStateFromControl(control) {
|
|
1596
|
+
this.componentState.update((state) => ({
|
|
1597
|
+
...state,
|
|
1598
|
+
touched: !!control.touched,
|
|
1599
|
+
dirty: !!control.dirty,
|
|
1600
|
+
disabled: !!control.disabled,
|
|
1601
|
+
}));
|
|
1602
|
+
}
|
|
1528
1603
|
// Atualiza tooltip/atributos de erro quando erros mudam e quando inline errors estiverem desabilitados
|
|
1529
1604
|
refreshErrorTooltip() {
|
|
1530
1605
|
if (!this.nativeElement)
|
|
1531
1606
|
return;
|
|
1532
|
-
// Só aplica tooltip nativo quando errorPosition === 'tooltip' e não houver MatTooltip no template
|
|
1533
|
-
// Força avaliação de tooltipPosition para evitar aviso de membro não utilizado
|
|
1534
|
-
void this.tooltipPosition();
|
|
1535
|
-
if (!this.tooltipEnabled()) {
|
|
1536
|
-
this.nativeElement.removeAttribute('title');
|
|
1537
|
-
this.nativeElement.removeAttribute('aria-invalid');
|
|
1538
|
-
return;
|
|
1539
|
-
}
|
|
1540
1607
|
const hasErrors = !!(this.getNgControl()?.errors ?? this.control().errors);
|
|
1541
1608
|
if (hasErrors) {
|
|
1542
|
-
const msg = this.errorMessage();
|
|
1543
|
-
if (msg)
|
|
1544
|
-
this.nativeElement.setAttribute('title', msg);
|
|
1545
1609
|
this.nativeElement.setAttribute('aria-invalid', 'true');
|
|
1610
|
+
if (this.tooltipEnabled()) {
|
|
1611
|
+
// Força avaliação de tooltipPosition para evitar aviso de membro não utilizado
|
|
1612
|
+
void this.tooltipPosition();
|
|
1613
|
+
const msg = this.errorMessage();
|
|
1614
|
+
if (msg) {
|
|
1615
|
+
this.nativeElement.setAttribute('title', msg);
|
|
1616
|
+
}
|
|
1617
|
+
else {
|
|
1618
|
+
this.nativeElement.removeAttribute('title');
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
else {
|
|
1622
|
+
this.nativeElement.removeAttribute('title');
|
|
1623
|
+
}
|
|
1546
1624
|
}
|
|
1547
1625
|
else {
|
|
1548
1626
|
this.nativeElement.removeAttribute('title');
|
|
1549
1627
|
this.nativeElement.removeAttribute('aria-invalid');
|
|
1550
1628
|
}
|
|
1551
1629
|
}
|
|
1630
|
+
ariaInvalidAttribute() {
|
|
1631
|
+
const hasErrors = !!(this.getNgControl()?.errors ?? this.control().errors);
|
|
1632
|
+
return hasErrors ? 'true' : null;
|
|
1633
|
+
}
|
|
1552
1634
|
tDynamicFields(keySuffix, fallback, params) {
|
|
1553
1635
|
return this.i18n.t(`praxis.dynamicFields.${keySuffix}`, params, fallback, 'dynamicFields');
|
|
1554
1636
|
}
|
|
@@ -3406,6 +3488,7 @@ class ComponentRegistryService {
|
|
|
3406
3488
|
this.registry.forEach((registration) => {
|
|
3407
3489
|
registration.cached = undefined;
|
|
3408
3490
|
registration.cachedAt = undefined;
|
|
3491
|
+
registration.loadingPromise = undefined;
|
|
3409
3492
|
registration.loadAttempts = 0;
|
|
3410
3493
|
registration.lastError = undefined;
|
|
3411
3494
|
});
|
|
@@ -3436,6 +3519,7 @@ class ComponentRegistryService {
|
|
|
3436
3519
|
if (registration) {
|
|
3437
3520
|
registration.cached = undefined;
|
|
3438
3521
|
registration.cachedAt = undefined;
|
|
3522
|
+
registration.loadingPromise = undefined;
|
|
3439
3523
|
registration.loadAttempts = 0;
|
|
3440
3524
|
registration.lastError = undefined;
|
|
3441
3525
|
this.logger.debug(`[ComponentRegistry] Cache limpo para ${type}`, this.buildLogOptions({ controlType: type }, {
|
|
@@ -3691,6 +3775,18 @@ class ComponentRegistryService {
|
|
|
3691
3775
|
* Carrega componente com lógica de retry
|
|
3692
3776
|
*/
|
|
3693
3777
|
async loadComponentWithRetry(registration, type) {
|
|
3778
|
+
if (registration.loadingPromise) {
|
|
3779
|
+
return registration.loadingPromise;
|
|
3780
|
+
}
|
|
3781
|
+
const loadPromise = this.performLoadWithRetry(registration, type).finally(() => {
|
|
3782
|
+
if (registration.loadingPromise === loadPromise) {
|
|
3783
|
+
registration.loadingPromise = undefined;
|
|
3784
|
+
}
|
|
3785
|
+
});
|
|
3786
|
+
registration.loadingPromise = loadPromise;
|
|
3787
|
+
return loadPromise;
|
|
3788
|
+
}
|
|
3789
|
+
async performLoadWithRetry(registration, type) {
|
|
3694
3790
|
const attempts = registration.loadAttempts || 0;
|
|
3695
3791
|
if (attempts >= MAX_LOAD_ATTEMPTS) {
|
|
3696
3792
|
this.logger.error(`[ComponentRegistry] Máximo de tentativas atingido para '${type}'. Último erro:`, this.buildLogOptions({ controlType: type, lastError: registration.lastError }, { context: { actionId: 'component.load-with-retry' } }));
|
|
@@ -3715,6 +3811,7 @@ class ComponentRegistryService {
|
|
|
3715
3811
|
registration.cached = component;
|
|
3716
3812
|
registration.cachedAt = Date.now();
|
|
3717
3813
|
registration.loadAttempts = 0;
|
|
3814
|
+
registration.loadingPromise = undefined;
|
|
3718
3815
|
registration.lastError = undefined;
|
|
3719
3816
|
// Log apenas na primeira vez que carrega (não em cache hits subsequentes)
|
|
3720
3817
|
if (attempts === 0) {
|
|
@@ -3726,11 +3823,12 @@ class ComponentRegistryService {
|
|
|
3726
3823
|
return component;
|
|
3727
3824
|
}
|
|
3728
3825
|
catch (error) {
|
|
3826
|
+
registration.loadingPromise = undefined;
|
|
3729
3827
|
registration.lastError = error;
|
|
3730
3828
|
this.logger.error(`[ComponentRegistry] Erro na tentativa ${attempts + 1} para '${type}':`, this.buildLogOptions({ controlType: type, attempt: attempts + 1, error }, { context: { actionId: 'component.load-with-retry' } }));
|
|
3731
3829
|
// Se não é a última tentativa, tentar novamente
|
|
3732
3830
|
if (attempts + 1 < MAX_LOAD_ATTEMPTS) {
|
|
3733
|
-
return this.
|
|
3831
|
+
return this.performLoadWithRetry(registration, type);
|
|
3734
3832
|
}
|
|
3735
3833
|
return null;
|
|
3736
3834
|
}
|
|
@@ -5167,17 +5265,62 @@ class DynamicFieldLoaderDirective {
|
|
|
5167
5265
|
this.lastFieldsSnapshot = this.buildFieldSnapshot(fieldsSnapshot);
|
|
5168
5266
|
this.dbg('[DFL] executeRendering: complete', { totalCreated: createdFieldNames.length, hadErrors });
|
|
5169
5267
|
}
|
|
5170
|
-
/** Builds a
|
|
5268
|
+
/** Builds a semantic snapshot capturing metadata changes that affect runtime rendering. */
|
|
5171
5269
|
buildFieldSnapshot(fields) {
|
|
5172
5270
|
return (fields || []).map((f) => {
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
return { name: f.name, controlType: f.controlType, sig };
|
|
5271
|
+
return {
|
|
5272
|
+
name: f.name,
|
|
5273
|
+
controlType: f.controlType,
|
|
5274
|
+
sig: this.buildFieldSemanticSignature(f),
|
|
5275
|
+
};
|
|
5179
5276
|
});
|
|
5180
5277
|
}
|
|
5278
|
+
buildFieldSemanticSignature(field) {
|
|
5279
|
+
const seen = new WeakSet();
|
|
5280
|
+
const normalize = (value) => {
|
|
5281
|
+
if (value === null || value === undefined)
|
|
5282
|
+
return value;
|
|
5283
|
+
if (typeof value === 'string' ||
|
|
5284
|
+
typeof value === 'number' ||
|
|
5285
|
+
typeof value === 'boolean') {
|
|
5286
|
+
return value;
|
|
5287
|
+
}
|
|
5288
|
+
if (value instanceof Date) {
|
|
5289
|
+
return value.toISOString();
|
|
5290
|
+
}
|
|
5291
|
+
if (Array.isArray(value)) {
|
|
5292
|
+
return value.map((item) => normalize(item));
|
|
5293
|
+
}
|
|
5294
|
+
if (typeof value === 'function' || typeof value === 'symbol') {
|
|
5295
|
+
return undefined;
|
|
5296
|
+
}
|
|
5297
|
+
if (typeof value !== 'object') {
|
|
5298
|
+
return String(value);
|
|
5299
|
+
}
|
|
5300
|
+
if (seen.has(value)) {
|
|
5301
|
+
return '[Circular]';
|
|
5302
|
+
}
|
|
5303
|
+
seen.add(value);
|
|
5304
|
+
const source = value;
|
|
5305
|
+
const normalized = {};
|
|
5306
|
+
Object.keys(source)
|
|
5307
|
+
.sort()
|
|
5308
|
+
.forEach((key) => {
|
|
5309
|
+
if (key === 'control' ||
|
|
5310
|
+
key === 'formControl' ||
|
|
5311
|
+
key === 'formGroup' ||
|
|
5312
|
+
key === 'componentRef') {
|
|
5313
|
+
return;
|
|
5314
|
+
}
|
|
5315
|
+
const next = normalize(source[key]);
|
|
5316
|
+
if (next !== undefined) {
|
|
5317
|
+
normalized[key] = next;
|
|
5318
|
+
}
|
|
5319
|
+
});
|
|
5320
|
+
return normalized;
|
|
5321
|
+
};
|
|
5322
|
+
return JSON.stringify(normalize(field));
|
|
5323
|
+
}
|
|
5181
5324
|
/**
|
|
5182
5325
|
* Reatribui apenas os FormControls existentes aos componentes/shells sem refazer a renderização.
|
|
5183
5326
|
*/
|
|
@@ -7725,6 +7868,7 @@ class TextInputComponent extends SimpleBaseInputComponent {
|
|
|
7725
7868
|
[minlength]="metadata()?.minLength || null"
|
|
7726
7869
|
[attr.aria-label]="!label && placeholder ? placeholder : null"
|
|
7727
7870
|
[attr.aria-required]="metadata()?.required ? 'true' : 'false'"
|
|
7871
|
+
[attr.aria-invalid]="ariaInvalidAttribute()"
|
|
7728
7872
|
[matTooltip]="tooltipEnabled() ? errorMessage() : null"
|
|
7729
7873
|
[matTooltipDisabled]="!(tooltipEnabled() && !!errorMessage())"
|
|
7730
7874
|
[matTooltipPosition]="tooltipPosition()"
|
|
@@ -7816,6 +7960,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
7816
7960
|
[minlength]="metadata()?.minLength || null"
|
|
7817
7961
|
[attr.aria-label]="!label && placeholder ? placeholder : null"
|
|
7818
7962
|
[attr.aria-required]="metadata()?.required ? 'true' : 'false'"
|
|
7963
|
+
[attr.aria-invalid]="ariaInvalidAttribute()"
|
|
7819
7964
|
[matTooltip]="tooltipEnabled() ? errorMessage() : null"
|
|
7820
7965
|
[matTooltipDisabled]="!(tooltipEnabled() && !!errorMessage())"
|
|
7821
7966
|
[matTooltipPosition]="tooltipPosition()"
|
|
@@ -14038,7 +14183,10 @@ class InlineSelectComponent extends SimpleBaseSelectComponent {
|
|
|
14038
14183
|
}
|
|
14039
14184
|
placeholderText() {
|
|
14040
14185
|
const fromMeta = this.resolveFieldLabelFromMetadata(this.currentMetadata());
|
|
14041
|
-
return fromMeta ||
|
|
14186
|
+
return (fromMeta ||
|
|
14187
|
+
this.fieldLabelText ||
|
|
14188
|
+
this.resolveHumanizedFieldName(this.currentMetadata().name) ||
|
|
14189
|
+
this.tDynamicFields('inlineSelect.placeholder', 'Selecionar'));
|
|
14042
14190
|
}
|
|
14043
14191
|
searchPlaceholderText() {
|
|
14044
14192
|
const custom = String(this.currentMetadata().searchPlaceholder || '').trim();
|
|
@@ -14061,7 +14209,20 @@ class InlineSelectComponent extends SimpleBaseSelectComponent {
|
|
|
14061
14209
|
return text;
|
|
14062
14210
|
}
|
|
14063
14211
|
}
|
|
14064
|
-
return
|
|
14212
|
+
return '';
|
|
14213
|
+
}
|
|
14214
|
+
resolveHumanizedFieldName(value) {
|
|
14215
|
+
const raw = String(value ?? '').trim();
|
|
14216
|
+
if (!raw)
|
|
14217
|
+
return '';
|
|
14218
|
+
const spaced = raw
|
|
14219
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
14220
|
+
.replace(/[_\-.]+/g, ' ')
|
|
14221
|
+
.replace(/\s+/g, ' ')
|
|
14222
|
+
.trim();
|
|
14223
|
+
if (!spaced)
|
|
14224
|
+
return '';
|
|
14225
|
+
return spaced.charAt(0).toUpperCase() + spaced.slice(1);
|
|
14065
14226
|
}
|
|
14066
14227
|
ariaLabel() {
|
|
14067
14228
|
const custom = String(this.currentMetadata().ariaLabel || '').trim();
|
|
@@ -16127,7 +16288,10 @@ class InlineAsyncSelectComponent extends MaterialAsyncSelectComponent {
|
|
|
16127
16288
|
}
|
|
16128
16289
|
placeholderText() {
|
|
16129
16290
|
const fromMeta = this.resolveFieldLabelFromMetadata(this.metadata() || {});
|
|
16130
|
-
return fromMeta ||
|
|
16291
|
+
return (fromMeta ||
|
|
16292
|
+
this.fieldLabelText ||
|
|
16293
|
+
this.resolveHumanizedFieldName(this.currentMetadata().name) ||
|
|
16294
|
+
this.tDynamicFields('inlineSelect.placeholder', 'Selecionar'));
|
|
16131
16295
|
}
|
|
16132
16296
|
searchPlaceholderText() {
|
|
16133
16297
|
const custom = String(this.currentMetadata().searchPlaceholder || '').trim();
|
|
@@ -16136,8 +16300,21 @@ class InlineAsyncSelectComponent extends MaterialAsyncSelectComponent {
|
|
|
16136
16300
|
ariaLabel() {
|
|
16137
16301
|
return (this.currentMetadata().ariaLabel ||
|
|
16138
16302
|
this.label ||
|
|
16139
|
-
this.metadata()?.name ||
|
|
16140
|
-
|
|
16303
|
+
this.resolveHumanizedFieldName(this.metadata()?.name) ||
|
|
16304
|
+
this.placeholderText());
|
|
16305
|
+
}
|
|
16306
|
+
resolveHumanizedFieldName(value) {
|
|
16307
|
+
const raw = String(value ?? '').trim();
|
|
16308
|
+
if (!raw)
|
|
16309
|
+
return '';
|
|
16310
|
+
const spaced = raw
|
|
16311
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
16312
|
+
.replace(/[_\-.]+/g, ' ')
|
|
16313
|
+
.replace(/\s+/g, ' ')
|
|
16314
|
+
.trim();
|
|
16315
|
+
if (!spaced)
|
|
16316
|
+
return '';
|
|
16317
|
+
return spaced.charAt(0).toUpperCase() + spaced.slice(1);
|
|
16141
16318
|
}
|
|
16142
16319
|
resolveOptionLabel(value) {
|
|
16143
16320
|
const option = this.options().find((item) => this.equalsOptionValue(item.value, value));
|
|
@@ -17856,6 +18033,9 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
17856
18033
|
}
|
|
17857
18034
|
ngAfterViewInit() {
|
|
17858
18035
|
super.ngAfterViewInit();
|
|
18036
|
+
if (this.inputEl?.nativeElement) {
|
|
18037
|
+
this.registerInputElement(this.inputEl.nativeElement);
|
|
18038
|
+
}
|
|
17859
18039
|
this.scheduleInlineResize();
|
|
17860
18040
|
}
|
|
17861
18041
|
onComponentDestroy() {
|
|
@@ -18082,6 +18262,7 @@ class InlineInputComponent extends SimpleBaseInputComponent {
|
|
|
18082
18262
|
[placeholder]="placeholderText()"
|
|
18083
18263
|
[required]="metadata()?.required || false"
|
|
18084
18264
|
[readonly]="isReadonlyEffective()"
|
|
18265
|
+
[disabled]="disabledMode || control().disabled"
|
|
18085
18266
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
18086
18267
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
18087
18268
|
[maxlength]="metadata()?.maxLength || null"
|
|
@@ -18161,6 +18342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
18161
18342
|
[placeholder]="placeholderText()"
|
|
18162
18343
|
[required]="metadata()?.required || false"
|
|
18163
18344
|
[readonly]="isReadonlyEffective()"
|
|
18345
|
+
[disabled]="disabledMode || control().disabled"
|
|
18164
18346
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
18165
18347
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
18166
18348
|
[maxlength]="metadata()?.maxLength || null"
|
|
@@ -19351,6 +19533,9 @@ class InlineNumberComponent extends SimpleBaseInputComponent {
|
|
|
19351
19533
|
}
|
|
19352
19534
|
ngAfterViewInit() {
|
|
19353
19535
|
super.ngAfterViewInit();
|
|
19536
|
+
if (this.inputEl?.nativeElement) {
|
|
19537
|
+
this.registerInputElement(this.inputEl.nativeElement);
|
|
19538
|
+
}
|
|
19354
19539
|
this.scheduleInlineResize();
|
|
19355
19540
|
}
|
|
19356
19541
|
onComponentDestroy() {
|
|
@@ -19779,6 +19964,7 @@ class InlineNumberComponent extends SimpleBaseInputComponent {
|
|
|
19779
19964
|
[placeholder]="placeholderText()"
|
|
19780
19965
|
[required]="metadata()?.required || false"
|
|
19781
19966
|
[readonly]="isReadonlyEffective()"
|
|
19967
|
+
[disabled]="disabledMode || control().disabled"
|
|
19782
19968
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
19783
19969
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
19784
19970
|
[min]="effectiveMinValue()"
|
|
@@ -19891,6 +20077,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
19891
20077
|
[placeholder]="placeholderText()"
|
|
19892
20078
|
[required]="metadata()?.required || false"
|
|
19893
20079
|
[readonly]="isReadonlyEffective()"
|
|
20080
|
+
[disabled]="disabledMode || control().disabled"
|
|
19894
20081
|
[autocomplete]="metadata()?.autocomplete || 'off'"
|
|
19895
20082
|
[spellcheck]="metadata()?.spellcheck ?? false"
|
|
19896
20083
|
[min]="effectiveMinValue()"
|
|
@@ -20963,7 +21150,7 @@ class InlineCurrencyRangeComponent extends SimpleBaseInputComponent {
|
|
|
20963
21150
|
return this.distributionVisual().opacity;
|
|
20964
21151
|
}
|
|
20965
21152
|
isInteractionBlocked() {
|
|
20966
|
-
return this.
|
|
21153
|
+
return this.isInteractionBlockedByState();
|
|
20967
21154
|
}
|
|
20968
21155
|
hasSelection() {
|
|
20969
21156
|
return this.currentRangeValue() !== null;
|
|
@@ -22283,7 +22470,7 @@ class InlineRangeSliderComponent extends SimpleBaseInputComponent {
|
|
|
22283
22470
|
return String(this.currentMetadata().mode || 'single').toLowerCase() === 'range';
|
|
22284
22471
|
}
|
|
22285
22472
|
isInteractionBlocked() {
|
|
22286
|
-
return this.
|
|
22473
|
+
return this.isInteractionBlockedByState();
|
|
22287
22474
|
}
|
|
22288
22475
|
hasSelection() {
|
|
22289
22476
|
if (this.isRangeMode()) {
|
|
@@ -25316,10 +25503,7 @@ class InlineDateRangeComponent extends MaterialDateRangeComponent {
|
|
|
25316
25503
|
this.scheduleInlineResize();
|
|
25317
25504
|
}
|
|
25318
25505
|
isInteractionBlocked() {
|
|
25319
|
-
return
|
|
25320
|
-
this.presentationMode ||
|
|
25321
|
-
this.isReadonlyEffective() ||
|
|
25322
|
-
this.control().disabled);
|
|
25506
|
+
return this.isInteractionBlockedByState();
|
|
25323
25507
|
}
|
|
25324
25508
|
showQuickClear() {
|
|
25325
25509
|
const clearCfg = this.currentMetadata().clearButton;
|
|
@@ -26666,7 +26850,7 @@ class InlineTimeComponent extends MaterialTimepickerComponent {
|
|
|
26666
26850
|
return getErrorStateMatcherForField(this.metadata());
|
|
26667
26851
|
}
|
|
26668
26852
|
isInteractionBlocked() {
|
|
26669
|
-
return this.
|
|
26853
|
+
return this.isInteractionBlockedByState();
|
|
26670
26854
|
}
|
|
26671
26855
|
showQuickClear() {
|
|
26672
26856
|
const clearCfg = this.currentMetadata().clearButton;
|
|
@@ -28651,10 +28835,7 @@ class InlineTimeRangeComponent extends PdxMaterialTimeRangeComponent {
|
|
|
28651
28835
|
return ticks === true || ticks === 'auto';
|
|
28652
28836
|
}
|
|
28653
28837
|
isInteractionBlocked() {
|
|
28654
|
-
return
|
|
28655
|
-
this.presentationMode ||
|
|
28656
|
-
this.isReadonlyEffective() ||
|
|
28657
|
-
this.control().disabled);
|
|
28838
|
+
return this.isInteractionBlockedByState();
|
|
28658
28839
|
}
|
|
28659
28840
|
hasValue() {
|
|
28660
28841
|
const value = this.timeRangeForm.value;
|
|
@@ -30304,7 +30485,7 @@ class InlineTreeSelectComponent extends SimpleBaseSelectComponent {
|
|
|
30304
30485
|
<div
|
|
30305
30486
|
class="pdx-chip-trigger"
|
|
30306
30487
|
[class.is-active]="hasSelection()"
|
|
30307
|
-
[class.is-disabled]="disabledMode || isReadonlyEffective() || presentationMode"
|
|
30488
|
+
[class.is-disabled]="disabledMode || control().disabled || isReadonlyEffective() || presentationMode"
|
|
30308
30489
|
>
|
|
30309
30490
|
<button
|
|
30310
30491
|
#triggerEl
|
|
@@ -30312,7 +30493,7 @@ class InlineTreeSelectComponent extends SimpleBaseSelectComponent {
|
|
|
30312
30493
|
class="pdx-chip-main"
|
|
30313
30494
|
[matMenuTriggerFor]="treeMenu"
|
|
30314
30495
|
[matMenuTriggerRestoreFocus]="false"
|
|
30315
|
-
[disabled]="disabledMode || isReadonlyEffective() || presentationMode"
|
|
30496
|
+
[disabled]="disabledMode || control().disabled || isReadonlyEffective() || presentationMode"
|
|
30316
30497
|
[attr.aria-label]="ariaLabel()"
|
|
30317
30498
|
[matTooltip]="inlineTooltipText()"
|
|
30318
30499
|
[matTooltipDisabled]="inlineTooltipDisabled()"
|
|
@@ -30492,7 +30673,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
30492
30673
|
<div
|
|
30493
30674
|
class="pdx-chip-trigger"
|
|
30494
30675
|
[class.is-active]="hasSelection()"
|
|
30495
|
-
[class.is-disabled]="disabledMode || isReadonlyEffective() || presentationMode"
|
|
30676
|
+
[class.is-disabled]="disabledMode || control().disabled || isReadonlyEffective() || presentationMode"
|
|
30496
30677
|
>
|
|
30497
30678
|
<button
|
|
30498
30679
|
#triggerEl
|
|
@@ -30500,7 +30681,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
30500
30681
|
class="pdx-chip-main"
|
|
30501
30682
|
[matMenuTriggerFor]="treeMenu"
|
|
30502
30683
|
[matMenuTriggerRestoreFocus]="false"
|
|
30503
|
-
[disabled]="disabledMode || isReadonlyEffective() || presentationMode"
|
|
30684
|
+
[disabled]="disabledMode || control().disabled || isReadonlyEffective() || presentationMode"
|
|
30504
30685
|
[attr.aria-label]="ariaLabel()"
|
|
30505
30686
|
[matTooltip]="inlineTooltipText()"
|
|
30506
30687
|
[matTooltipDisabled]="inlineTooltipDisabled()"
|
|
@@ -32998,10 +33179,10 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
32998
33179
|
return this.placeholderText();
|
|
32999
33180
|
}
|
|
33000
33181
|
panelSubtitleText() {
|
|
33001
|
-
return this.resolvePipelineText('panelSubtitle', this.tDynamicFields('
|
|
33182
|
+
return this.resolvePipelineText('panelSubtitle', this.tDynamicFields('inlinePipelineStatus.panelSubtitle', ''), 'pipelineSubtitle', 'inlinePanelSubtitle', 'hint');
|
|
33002
33183
|
}
|
|
33003
33184
|
searchPlaceholderText() {
|
|
33004
|
-
return this.resolvePipelineText('searchPlaceholder', this.tDynamicFields('
|
|
33185
|
+
return this.resolvePipelineText('searchPlaceholder', this.tDynamicFields('inlinePipelineStatus.searchPlaceholder', ''), 'pipelineSearchPlaceholder', 'searchPlaceholder');
|
|
33005
33186
|
}
|
|
33006
33187
|
panelSearchIconName(fallback = 'search') {
|
|
33007
33188
|
return this.metadataIconName(['pipelineSearchIcon', 'panelSearchIcon', 'searchIcon', 'inlineSearchIcon'], fallback);
|
|
@@ -33033,16 +33214,16 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33033
33214
|
return this.showSelectAllAction() || this.showClearSelectionAction();
|
|
33034
33215
|
}
|
|
33035
33216
|
selectionActionsAriaLabel() {
|
|
33036
|
-
return this.resolvePipelineText('selectionActionsAriaLabel', this.tDynamicFields('
|
|
33217
|
+
return this.resolvePipelineText('selectionActionsAriaLabel', this.tDynamicFields('inlinePipelineStatus.selectionActionsAriaLabel', ''), 'pipelineSelectionActionsAriaLabel');
|
|
33037
33218
|
}
|
|
33038
33219
|
selectAllActionText() {
|
|
33039
33220
|
return this.resolvePipelineText('selectAllActionLabel', this.tDynamicFields('multiSelect.selectAllLabel', 'Select all'), 'pipelineSelectAllText');
|
|
33040
33221
|
}
|
|
33041
33222
|
clearSelectionActionText() {
|
|
33042
|
-
return this.resolvePipelineText('clearActionLabel', this.tDynamicFields('
|
|
33223
|
+
return this.resolvePipelineText('clearActionLabel', this.tDynamicFields('inlinePipelineStatus.clearActionLabel', ''), 'pipelineClearActionText');
|
|
33043
33224
|
}
|
|
33044
33225
|
selectionPillsAriaLabel() {
|
|
33045
|
-
return this.resolvePipelineText('selectionPillsAriaLabel', this.tDynamicFields('
|
|
33226
|
+
return this.resolvePipelineText('selectionPillsAriaLabel', this.tDynamicFields('inlinePipelineStatus.selectionPillsAriaLabel', ''), 'pipelineSelectionPillsAriaLabel');
|
|
33046
33227
|
}
|
|
33047
33228
|
showSelectAllAction() {
|
|
33048
33229
|
const md = this.currentMetadata();
|
|
@@ -33172,9 +33353,9 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33172
33353
|
}
|
|
33173
33354
|
optionsGroupAriaLabel() {
|
|
33174
33355
|
if (this.multipleMode()) {
|
|
33175
|
-
return this.resolvePipelineText('optionsGroupAriaLabelMultiple', this.tDynamicFields('
|
|
33356
|
+
return this.resolvePipelineText('optionsGroupAriaLabelMultiple', this.tDynamicFields('inlinePipelineStatus.optionsGroupAriaLabelMultiple', ''), 'pipelineOptionsGroupAriaLabelMultiple');
|
|
33176
33357
|
}
|
|
33177
|
-
return this.resolvePipelineText('optionsGroupAriaLabelSingle', this.tDynamicFields('
|
|
33358
|
+
return this.resolvePipelineText('optionsGroupAriaLabelSingle', this.tDynamicFields('inlinePipelineStatus.optionsGroupAriaLabelSingle', ''), 'pipelineOptionsGroupAriaLabelSingle');
|
|
33178
33359
|
}
|
|
33179
33360
|
optionAriaLabel(option) {
|
|
33180
33361
|
if (!option.subtitle) {
|
|
@@ -33228,7 +33409,7 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33228
33409
|
}
|
|
33229
33410
|
placeholderText() {
|
|
33230
33411
|
const fromMeta = this.resolveFieldLabelFromMetadata(this.currentMetadata());
|
|
33231
|
-
return fromMeta || this.fieldLabelText || this.tDynamicFields('
|
|
33412
|
+
return fromMeta || this.fieldLabelText || this.tDynamicFields('inlinePipelineStatus.placeholder', '');
|
|
33232
33413
|
}
|
|
33233
33414
|
ariaLabel() {
|
|
33234
33415
|
const metadata = this.currentMetadata();
|
|
@@ -33238,7 +33419,7 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33238
33419
|
return `${this.nonEmptyText(metadata.ariaLabel) || this.placeholderText()}: ${this.displayText()}`;
|
|
33239
33420
|
}
|
|
33240
33421
|
emptyStateText() {
|
|
33241
|
-
return this.resolvePipelineText('emptyStateText', this.tDynamicFields('
|
|
33422
|
+
return this.resolvePipelineText('emptyStateText', this.tDynamicFields('inlinePipelineStatus.emptyStateText', ''), 'pipelineEmptyStateText', 'emptyStateText');
|
|
33242
33423
|
}
|
|
33243
33424
|
resolveMultipleMode(metadata) {
|
|
33244
33425
|
if (typeof metadata.multiple === 'boolean')
|
|
@@ -33261,7 +33442,7 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33261
33442
|
return [value];
|
|
33262
33443
|
}
|
|
33263
33444
|
isInteractionBlocked() {
|
|
33264
|
-
return this.
|
|
33445
|
+
return this.isInteractionBlockedByState();
|
|
33265
33446
|
}
|
|
33266
33447
|
toVisualOption(option, index, totalOptions = 0) {
|
|
33267
33448
|
const raw = option;
|
|
@@ -33489,7 +33670,7 @@ class InlinePipelineStatusComponent extends SimpleBaseSelectComponent {
|
|
|
33489
33670
|
return text;
|
|
33490
33671
|
}
|
|
33491
33672
|
}
|
|
33492
|
-
return this.tDynamicFields('
|
|
33673
|
+
return this.tDynamicFields('inlinePipelineStatus.placeholder', '');
|
|
33493
33674
|
}
|
|
33494
33675
|
recalculateInlineSizeBounds() {
|
|
33495
33676
|
const viewportWidth = typeof window !== 'undefined' ? window.innerWidth : 1280;
|
|
@@ -35477,7 +35658,7 @@ class InlineRelativePeriodComponent extends SimpleBaseSelectComponent {
|
|
|
35477
35658
|
return this.resolveText('emptyStateText', this.tDynamicFields('inlineRelativePeriod.emptyStateText', ''), 'relativePeriodEmptyStateText', 'emptyStateText');
|
|
35478
35659
|
}
|
|
35479
35660
|
isInteractionBlocked() {
|
|
35480
|
-
return this.
|
|
35661
|
+
return this.isInteractionBlockedByState();
|
|
35481
35662
|
}
|
|
35482
35663
|
parseOptionsSource(source) {
|
|
35483
35664
|
if (Array.isArray(source)) {
|
|
@@ -36389,7 +36570,7 @@ class InlineSentimentComponent extends SimpleBaseSelectComponent {
|
|
|
36389
36570
|
return this.resolveText('emptyStateText', this.tDynamicFields('inlineSentiment.emptyStateText', ''), 'sentimentEmptyStateText', 'emptyStateText');
|
|
36390
36571
|
}
|
|
36391
36572
|
isInteractionBlocked() {
|
|
36392
|
-
return this.
|
|
36573
|
+
return this.isInteractionBlockedByState();
|
|
36393
36574
|
}
|
|
36394
36575
|
parseOptionsSource(source) {
|
|
36395
36576
|
if (Array.isArray(source)) {
|
|
@@ -37398,7 +37579,7 @@ class InlineColorLabelComponent extends SimpleBaseSelectComponent {
|
|
|
37398
37579
|
return this.resolveText('emptyStateText', this.tDynamicFields('inlineColorLabel.emptyStateText', ''), 'colorLabelEmptyStateText', 'emptyStateText');
|
|
37399
37580
|
}
|
|
37400
37581
|
isInteractionBlocked() {
|
|
37401
|
-
return this.
|
|
37582
|
+
return this.isInteractionBlockedByState();
|
|
37402
37583
|
}
|
|
37403
37584
|
parseOptionsSource(source) {
|
|
37404
37585
|
if (Array.isArray(source)) {
|
|
@@ -39383,6 +39564,7 @@ class MaterialChipsComponent extends SimpleBaseSelectComponent {
|
|
|
39383
39564
|
presentationMode = false;
|
|
39384
39565
|
removable = signal(true, ...(ngDevMode ? [{ debugName: "removable" }] : []));
|
|
39385
39566
|
addOnBlur = signal(false, ...(ngDevMode ? [{ debugName: "addOnBlur" }] : []));
|
|
39567
|
+
chipPlaceholder = signal(null, ...(ngDevMode ? [{ debugName: "chipPlaceholder" }] : []));
|
|
39386
39568
|
separatorKeys = [ENTER, COMMA];
|
|
39387
39569
|
asRecord(value) {
|
|
39388
39570
|
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
@@ -39425,6 +39607,9 @@ class MaterialChipsComponent extends SimpleBaseSelectComponent {
|
|
|
39425
39607
|
const target = event.target;
|
|
39426
39608
|
this.onSearch(target instanceof HTMLInputElement ? target.value : '');
|
|
39427
39609
|
}
|
|
39610
|
+
setInputMetadata(metadata) {
|
|
39611
|
+
this.setSelectMetadata(metadata);
|
|
39612
|
+
}
|
|
39428
39613
|
setSelectMetadata(metadata) {
|
|
39429
39614
|
const matMetadata = metadata;
|
|
39430
39615
|
this.devWarnSelectAliases(matMetadata, 'MaterialChipsComponent');
|
|
@@ -39446,6 +39631,9 @@ class MaterialChipsComponent extends SimpleBaseSelectComponent {
|
|
|
39446
39631
|
});
|
|
39447
39632
|
this.removable.set(matMetadata.removable ?? true);
|
|
39448
39633
|
this.addOnBlur.set(matMetadata.addOnBlur ?? false);
|
|
39634
|
+
this.chipPlaceholder.set(typeof matMetadata.placeholder === 'string' && matMetadata.placeholder.trim().length
|
|
39635
|
+
? matMetadata.placeholder
|
|
39636
|
+
: null);
|
|
39449
39637
|
}
|
|
39450
39638
|
errorStateMatcher() {
|
|
39451
39639
|
return getErrorStateMatcherForField(this.metadata());
|
|
@@ -39486,6 +39674,7 @@ class MaterialChipsComponent extends SimpleBaseSelectComponent {
|
|
|
39486
39674
|
[matChipInputSeparatorKeyCodes]="separatorKeys"
|
|
39487
39675
|
[matAutocomplete]="auto"
|
|
39488
39676
|
[required]="metadata()?.required || false"
|
|
39677
|
+
[attr.placeholder]="chipPlaceholder()"
|
|
39489
39678
|
(input)="onSearchInputEvent($event)"
|
|
39490
39679
|
(matChipInputTokenEnd)="onInputTokenEnd($event)"
|
|
39491
39680
|
[matTooltip]="tooltipEnabled() ? errorMessage() : null"
|
|
@@ -39593,6 +39782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
39593
39782
|
[matChipInputSeparatorKeyCodes]="separatorKeys"
|
|
39594
39783
|
[matAutocomplete]="auto"
|
|
39595
39784
|
[required]="metadata()?.required || false"
|
|
39785
|
+
[attr.placeholder]="chipPlaceholder()"
|
|
39596
39786
|
(input)="onSearchInputEvent($event)"
|
|
39597
39787
|
(matChipInputTokenEnd)="onInputTokenEnd($event)"
|
|
39598
39788
|
[matTooltip]="tooltipEnabled() ? errorMessage() : null"
|
|
@@ -40284,6 +40474,12 @@ class MaterialAvatarComponent {
|
|
|
40284
40474
|
return `Avatar icon ${icon}`;
|
|
40285
40475
|
return 'Avatar';
|
|
40286
40476
|
}, ...(ngDevMode ? [{ debugName: "computedAriaLabel" }] : []));
|
|
40477
|
+
resolvedHint = computed(() => {
|
|
40478
|
+
const meta = this.metadata();
|
|
40479
|
+
const hint = meta?.hint;
|
|
40480
|
+
return typeof hint === 'string' && hint.trim().length ? hint.trim() : '';
|
|
40481
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedHint" }] : []));
|
|
40482
|
+
hintId = computed(() => (this.resolvedHint() ? `${this.componentId()}-hint` : null), ...(ngDevMode ? [{ debugName: "hintId" }] : []));
|
|
40287
40483
|
// Helpers for icon resolution
|
|
40288
40484
|
resolveIconKind(i) {
|
|
40289
40485
|
if (!i)
|
|
@@ -40520,7 +40716,7 @@ class MaterialAvatarComponent {
|
|
|
40520
40716
|
}
|
|
40521
40717
|
}
|
|
40522
40718
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MaterialAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40523
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: MaterialAvatarComponent, isStandalone: true, selector: "pdx-material-avatar", inputs: { imageSrc: "imageSrc", imageAlt: "imageAlt", initials: "initials", name: "name", icon: "icon", defaultIcon: "defaultIcon", themeColor: "themeColor", rounded: "rounded", size: "size", fillMode: "fillMode", border: "border", sizePx: "sizePx", sizeCss: "sizeCss", tooltip: "tooltip", ariaLabel: "ariaLabel", readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode", class: "class", style: "style" }, outputs: { imageError: "imageError" }, host: { properties: { "class": "componentCssClasses()", "style.display": "visible === false ? \"none\" : null", "attr.aria-hidden": "visible ? null : \"true\"", "attr.role": "\"img\"", "attr.aria-label": "computedAriaLabel() || null", "attr.data-field-type": "\"avatar\"", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()", "class.praxis-disabled": "disabledMode === true", "class.praxis-readonly": "readonlyMode === true", "class.presentation-mode": "presentationMode === true" } }, ngImport: i0, template: `
|
|
40719
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: MaterialAvatarComponent, isStandalone: true, selector: "pdx-material-avatar", inputs: { imageSrc: "imageSrc", imageAlt: "imageAlt", initials: "initials", name: "name", icon: "icon", defaultIcon: "defaultIcon", themeColor: "themeColor", rounded: "rounded", size: "size", fillMode: "fillMode", border: "border", sizePx: "sizePx", sizeCss: "sizeCss", tooltip: "tooltip", ariaLabel: "ariaLabel", readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode", class: "class", style: "style" }, outputs: { imageError: "imageError" }, host: { properties: { "class": "componentCssClasses()", "style.display": "visible === false ? \"none\" : null", "attr.aria-hidden": "visible ? null : \"true\"", "attr.role": "\"img\"", "attr.aria-label": "computedAriaLabel() || null", "attr.aria-describedby": "hintId()", "attr.data-field-type": "\"avatar\"", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()", "class.praxis-disabled": "disabledMode === true", "class.praxis-readonly": "readonlyMode === true", "class.presentation-mode": "presentationMode === true" } }, ngImport: i0, template: `
|
|
40524
40720
|
<span class="pfx-avatar__inner"
|
|
40525
40721
|
[attr.aria-hidden]="presentationMode ? 'true' : null"
|
|
40526
40722
|
[ngStyle]="resolvedStyle()"
|
|
@@ -40557,7 +40753,10 @@ class MaterialAvatarComponent {
|
|
|
40557
40753
|
<span class="pfx-avatar__custom"><ng-content></ng-content></span>
|
|
40558
40754
|
}
|
|
40559
40755
|
</span>
|
|
40560
|
-
|
|
40756
|
+
@if (resolvedHint()) {
|
|
40757
|
+
<span class="pfx-avatar__hint" [attr.id]="hintId()">{{ resolvedHint() }}</span>
|
|
40758
|
+
}
|
|
40759
|
+
`, isInline: true, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant);--pfx-avatar-bg: var(--md-sys-color-primary);--pfx-avatar-fg: var(--md-sys-color-on-primary);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-xsmall){--pfx-avatar-size: 20px}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-xlarge){--pfx-avatar-size: 72px}:host(.size-xxlarge){--pfx-avatar-size: 96px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}.pfx-avatar__custom{display:inline-flex;align-items:center;justify-content:center;font-size:calc(var(--pfx-avatar-size) * .6);line-height:1;width:100%;height:100%}.pfx-avatar__custom img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__hint{display:block;margin-top:6px;color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .6));font-size:12px;line-height:1.4}:host-context(.pfx-field-shell){display:flex;flex-direction:column;width:100%;align-items:flex-start;justify-content:flex-start;padding:6px 0;min-height:var( --pfx-field-shell-min-height, calc(var(--pfx-field-min-height, 56px) + var(--pfx-subscript-min-h, 22px)) )}:host-context(.pfx-field-shell) .pfx-avatar__inner{flex-shrink:0}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: var(--md-sys-color-surface);--_pfx-avatar-fg: var(--md-sys-color-on-surface)}:host(.theme-light){--_pfx-avatar-bg: var(--md-sys-color-surface);--_pfx-avatar-fg: var(--md-sys-color-on-surface)}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
|
|
40561
40760
|
}
|
|
40562
40761
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MaterialAvatarComponent, decorators: [{
|
|
40563
40762
|
type: Component,
|
|
@@ -40567,6 +40766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
40567
40766
|
'[attr.aria-hidden]': 'visible ? null : "true"',
|
|
40568
40767
|
'[attr.role]': '"img"',
|
|
40569
40768
|
'[attr.aria-label]': 'computedAriaLabel() || null',
|
|
40769
|
+
'[attr.aria-describedby]': 'hintId()',
|
|
40570
40770
|
'[attr.data-field-type]': '"avatar"',
|
|
40571
40771
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
40572
40772
|
'[attr.data-component-id]': 'componentId()',
|
|
@@ -40610,7 +40810,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
40610
40810
|
<span class="pfx-avatar__custom"><ng-content></ng-content></span>
|
|
40611
40811
|
}
|
|
40612
40812
|
</span>
|
|
40613
|
-
|
|
40813
|
+
@if (resolvedHint()) {
|
|
40814
|
+
<span class="pfx-avatar__hint" [attr.id]="hintId()">{{ resolvedHint() }}</span>
|
|
40815
|
+
}
|
|
40816
|
+
`, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant);--pfx-avatar-bg: var(--md-sys-color-primary);--pfx-avatar-fg: var(--md-sys-color-on-primary);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-xsmall){--pfx-avatar-size: 20px}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-xlarge){--pfx-avatar-size: 72px}:host(.size-xxlarge){--pfx-avatar-size: 96px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}.pfx-avatar__custom{display:inline-flex;align-items:center;justify-content:center;font-size:calc(var(--pfx-avatar-size) * .6);line-height:1;width:100%;height:100%}.pfx-avatar__custom img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__hint{display:block;margin-top:6px;color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .6));font-size:12px;line-height:1.4}:host-context(.pfx-field-shell){display:flex;flex-direction:column;width:100%;align-items:flex-start;justify-content:flex-start;padding:6px 0;min-height:var( --pfx-field-shell-min-height, calc(var(--pfx-field-min-height, 56px) + var(--pfx-subscript-min-h, 22px)) )}:host-context(.pfx-field-shell) .pfx-avatar__inner{flex-shrink:0}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: var(--md-sys-color-surface);--_pfx-avatar-fg: var(--md-sys-color-on-surface)}:host(.theme-light){--_pfx-avatar-bg: var(--md-sys-color-surface);--_pfx-avatar-fg: var(--md-sys-color-on-surface)}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"] }]
|
|
40614
40817
|
}], propDecorators: { imageSrc: [{
|
|
40615
40818
|
type: Input
|
|
40616
40819
|
}], imageAlt: [{
|
|
@@ -41658,12 +41861,28 @@ class MaterialFileUploadComponent extends SimpleBaseInputComponent {
|
|
|
41658
41861
|
const { placeholder: _placeholder, ...rest } = metadata;
|
|
41659
41862
|
this.setMetadata(rest);
|
|
41660
41863
|
}
|
|
41864
|
+
fileAccept() {
|
|
41865
|
+
const accept = this.metadataRecord()?.['accept'];
|
|
41866
|
+
return typeof accept === 'string' && accept.trim().length ? accept.trim() : null;
|
|
41867
|
+
}
|
|
41868
|
+
allowsMultiple() {
|
|
41869
|
+
return this.metadataRecord()?.['multiple'] === true;
|
|
41870
|
+
}
|
|
41871
|
+
isInteractionDisabled() {
|
|
41872
|
+
return this.disabledMode || this.readonlyMode || this.presentationMode;
|
|
41873
|
+
}
|
|
41661
41874
|
/**
|
|
41662
41875
|
* CSS classes specific to the file upload wrapper.
|
|
41663
41876
|
*/
|
|
41664
41877
|
getSpecificCssClasses() {
|
|
41665
41878
|
return ['pdx-material-file-upload'];
|
|
41666
41879
|
}
|
|
41880
|
+
metadataRecord() {
|
|
41881
|
+
const metadata = this.metadata();
|
|
41882
|
+
return metadata && typeof metadata === 'object'
|
|
41883
|
+
? metadata
|
|
41884
|
+
: null;
|
|
41885
|
+
}
|
|
41667
41886
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MaterialFileUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
41668
41887
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: MaterialFileUploadComponent, isStandalone: true, selector: "pdx-material-file-upload", inputs: { readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode" }, host: { properties: { "class": "componentCssClasses()", "class.praxis-disabled": "disabledMode", "style.display": "visible ? null : \"none\"", "attr.aria-hidden": "visible ? null : \"true\"", "attr.data-field-type": "\"file-upload\"", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()" } }, providers: [
|
|
41669
41888
|
{
|
|
@@ -41683,6 +41902,9 @@ class MaterialFileUploadComponent extends SimpleBaseInputComponent {
|
|
|
41683
41902
|
[attr.id]="componentId()"
|
|
41684
41903
|
type="file"
|
|
41685
41904
|
(change)="onFileSelected($event)"
|
|
41905
|
+
[attr.accept]="fileAccept()"
|
|
41906
|
+
[attr.multiple]="allowsMultiple() ? '' : null"
|
|
41907
|
+
[disabled]="isInteractionDisabled()"
|
|
41686
41908
|
[attr.aria-disabled]="disabledMode ? 'true' : null"
|
|
41687
41909
|
/>
|
|
41688
41910
|
@if (hasValidationError()) {
|
|
@@ -41712,6 +41934,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
41712
41934
|
[attr.id]="componentId()"
|
|
41713
41935
|
type="file"
|
|
41714
41936
|
(change)="onFileSelected($event)"
|
|
41937
|
+
[attr.accept]="fileAccept()"
|
|
41938
|
+
[attr.multiple]="allowsMultiple() ? '' : null"
|
|
41939
|
+
[disabled]="isInteractionDisabled()"
|
|
41715
41940
|
[attr.aria-disabled]="disabledMode ? 'true' : null"
|
|
41716
41941
|
/>
|
|
41717
41942
|
@if (hasValidationError()) {
|
|
@@ -45567,6 +45792,9 @@ class MaterialTransferListComponent extends SimpleBaseSelectComponent {
|
|
|
45567
45792
|
this.updateListsFromValue();
|
|
45568
45793
|
});
|
|
45569
45794
|
}
|
|
45795
|
+
setInputMetadata(metadata) {
|
|
45796
|
+
this.setSelectMetadata(metadata);
|
|
45797
|
+
}
|
|
45570
45798
|
setSelectMetadata(metadata) {
|
|
45571
45799
|
const source = metadata.transferOptions ?? metadata.options;
|
|
45572
45800
|
const mapped = source?.map((o) => ({
|
|
@@ -45829,7 +46057,11 @@ class MaterialTransferListComponent extends SimpleBaseSelectComponent {
|
|
|
45829
46057
|
</mat-selection-list>
|
|
45830
46058
|
</div>
|
|
45831
46059
|
</div>
|
|
45832
|
-
|
|
46060
|
+
|
|
46061
|
+
@if (metadata()?.hint) {
|
|
46062
|
+
<div class="pdx-transfer-hint">{{ metadata()!.hint }}</div>
|
|
46063
|
+
}
|
|
46064
|
+
`, isInline: true, styles: [":host{display:block;width:100%}.pdx-transfer-list{width:100%;min-height:56px;padding:4px 0}.pdx-transfer-column{width:100%}.pdx-transfer-column mat-form-field{width:100%}.pdx-transfer-actions{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:0 8px}.pdx-transfer-hint{margin-top:4px;color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .6));font-size:12px;line-height:1.4}@media(min-width:640px){.pdx-transfer-list{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2$5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.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: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.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: MatListModule }, { kind: "component", type: i3$6.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i3$6.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
45833
46065
|
}
|
|
45834
46066
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: MaterialTransferListComponent, decorators: [{
|
|
45835
46067
|
type: Component,
|
|
@@ -45961,6 +46193,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
45961
46193
|
</mat-selection-list>
|
|
45962
46194
|
</div>
|
|
45963
46195
|
</div>
|
|
46196
|
+
|
|
46197
|
+
@if (metadata()?.hint) {
|
|
46198
|
+
<div class="pdx-transfer-hint">{{ metadata()!.hint }}</div>
|
|
46199
|
+
}
|
|
45964
46200
|
`, providers: [
|
|
45965
46201
|
{
|
|
45966
46202
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -45975,7 +46211,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
45975
46211
|
'[attr.data-field-type]': '"transfer-list"',
|
|
45976
46212
|
'[attr.data-field-name]': 'metadata()?.name',
|
|
45977
46213
|
'[attr.data-component-id]': 'componentId()',
|
|
45978
|
-
}, styles: [":host{display:block;width:100%}.pdx-transfer-list{width:100%;min-height:56px;padding:4px 0}.pdx-transfer-column{width:100%}.pdx-transfer-column mat-form-field{width:100%}.pdx-transfer-actions{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:0 8px}@media(min-width:640px){.pdx-transfer-list{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}}\n"] }]
|
|
46214
|
+
}, styles: [":host{display:block;width:100%}.pdx-transfer-list{width:100%;min-height:56px;padding:4px 0}.pdx-transfer-column{width:100%}.pdx-transfer-column mat-form-field{width:100%}.pdx-transfer-actions{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:0 8px}.pdx-transfer-hint{margin-top:4px;color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .6));font-size:12px;line-height:1.4}@media(min-width:640px){.pdx-transfer-list{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}}\n"] }]
|
|
45979
46215
|
}], ctorParameters: () => [], propDecorators: { readonlyMode: [{
|
|
45980
46216
|
type: Input
|
|
45981
46217
|
}], disabledMode: [{
|
|
@@ -47977,11 +48213,24 @@ const DYNAMIC_FIELD_READONLY_STATE_RECIPE = {
|
|
|
47977
48213
|
supported: true,
|
|
47978
48214
|
metadataPatch: { readonly: true },
|
|
47979
48215
|
};
|
|
48216
|
+
const DYNAMIC_FIELD_PRESENTATION_STATE_RECIPE = {
|
|
48217
|
+
state: 'presentation',
|
|
48218
|
+
label: 'Presentation',
|
|
48219
|
+
supported: true,
|
|
48220
|
+
metadataPatch: { presentationMode: true },
|
|
48221
|
+
note: 'Uses the canonical presentation pipeline instead of a disabled or readonly input shell.',
|
|
48222
|
+
};
|
|
47980
48223
|
const DYNAMIC_FIELD_ERROR_STATE_RECIPE = {
|
|
47981
48224
|
state: 'error',
|
|
47982
48225
|
label: 'Error',
|
|
47983
48226
|
supported: true,
|
|
47984
|
-
metadataPatch: {
|
|
48227
|
+
metadataPatch: {
|
|
48228
|
+
required: true,
|
|
48229
|
+
validators: {
|
|
48230
|
+
requiredMessage: 'Governed sample error state for playground preview.',
|
|
48231
|
+
validationTrigger: 'immediate',
|
|
48232
|
+
},
|
|
48233
|
+
},
|
|
47985
48234
|
errorMessage: 'Governed sample error state for playground preview.',
|
|
47986
48235
|
};
|
|
47987
48236
|
const DYNAMIC_FIELD_BASE_STATE_RECIPES = [
|
|
@@ -47989,9 +48238,21 @@ const DYNAMIC_FIELD_BASE_STATE_RECIPES = [
|
|
|
47989
48238
|
DYNAMIC_FIELD_FILLED_STATE_RECIPE,
|
|
47990
48239
|
DYNAMIC_FIELD_DISABLED_STATE_RECIPE,
|
|
47991
48240
|
DYNAMIC_FIELD_READONLY_STATE_RECIPE,
|
|
48241
|
+
DYNAMIC_FIELD_PRESENTATION_STATE_RECIPE,
|
|
47992
48242
|
DYNAMIC_FIELD_ERROR_STATE_RECIPE,
|
|
47993
48243
|
];
|
|
48244
|
+
function mergeStateRecipes(overrides, supportedStates) {
|
|
48245
|
+
const overrideMap = new Map((overrides ?? []).map((state) => [state.state, state]));
|
|
48246
|
+
return DYNAMIC_FIELD_BASE_STATE_RECIPES
|
|
48247
|
+
.filter((state) => supportedStates.has(state.state))
|
|
48248
|
+
.map((state) => ({
|
|
48249
|
+
...state,
|
|
48250
|
+
...(overrideMap.get(state.state) ?? {}),
|
|
48251
|
+
}));
|
|
48252
|
+
}
|
|
47994
48253
|
function createDynamicFieldPreviewRecipe(input) {
|
|
48254
|
+
const supportedStates = new Set(input.supportedStates ?? DYNAMIC_FIELD_BASE_STATE_RECIPES.map((state) => state.state));
|
|
48255
|
+
const states = mergeStateRecipes(input.states, supportedStates);
|
|
47995
48256
|
return {
|
|
47996
48257
|
recipeId: input.recipeId,
|
|
47997
48258
|
fieldName: input.fieldName,
|
|
@@ -48003,7 +48264,7 @@ function createDynamicFieldPreviewRecipe(input) {
|
|
|
48003
48264
|
controlType: input.controlType,
|
|
48004
48265
|
...(input.metadata ?? {}),
|
|
48005
48266
|
},
|
|
48006
|
-
states
|
|
48267
|
+
states,
|
|
48007
48268
|
};
|
|
48008
48269
|
}
|
|
48009
48270
|
|
|
@@ -48026,7 +48287,7 @@ function jsonApiPath(relativePath) {
|
|
|
48026
48287
|
return `projects/praxis-dynamic-fields/src/lib/components/${relativePath}`;
|
|
48027
48288
|
}
|
|
48028
48289
|
function createEntry(input) {
|
|
48029
|
-
const states = input.states ?? ['default', 'filled', 'disabled', 'readonly', 'error'];
|
|
48290
|
+
const states = input.states ?? ['default', 'filled', 'disabled', 'readonly', 'presentation', 'error'];
|
|
48030
48291
|
return {
|
|
48031
48292
|
id: input.id,
|
|
48032
48293
|
controlType: input.controlType,
|
|
@@ -48057,6 +48318,7 @@ function createEntry(input) {
|
|
|
48057
48318
|
description: input.description,
|
|
48058
48319
|
metadata: input.metadata,
|
|
48059
48320
|
states: input.stateRecipes,
|
|
48321
|
+
supportedStates: states,
|
|
48060
48322
|
}),
|
|
48061
48323
|
snippetRecipe: {
|
|
48062
48324
|
language: input.snippetLanguage ?? 'json',
|
|
@@ -48068,6 +48330,15 @@ function createEntry(input) {
|
|
|
48068
48330
|
themingNotes: input.themingNotes ?? DEFAULT_THEMING_NOTES,
|
|
48069
48331
|
};
|
|
48070
48332
|
}
|
|
48333
|
+
function createDefaultSeedRecipe(initialValue, note) {
|
|
48334
|
+
return {
|
|
48335
|
+
state: 'default',
|
|
48336
|
+
label: 'Default',
|
|
48337
|
+
supported: true,
|
|
48338
|
+
initialValue,
|
|
48339
|
+
note,
|
|
48340
|
+
};
|
|
48341
|
+
}
|
|
48071
48342
|
const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
48072
48343
|
createEntry({
|
|
48073
48344
|
id: 'text-input',
|
|
@@ -48083,6 +48354,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48083
48354
|
dataSourceKind: 'local',
|
|
48084
48355
|
apiPath: jsonApiPath('text-input/pdx-text-input.json-api.md'),
|
|
48085
48356
|
metadata: { placeholder: 'Type here' },
|
|
48357
|
+
stateRecipes: [
|
|
48358
|
+
createDefaultSeedRecipe('Ana Souza', 'Seeded default preview to show immediate field affordance in the catalog.'),
|
|
48359
|
+
],
|
|
48086
48360
|
}),
|
|
48087
48361
|
createEntry({
|
|
48088
48362
|
id: 'email-input',
|
|
@@ -48217,6 +48491,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48217
48491
|
dataSourceKind: 'local',
|
|
48218
48492
|
apiPath: jsonApiPath('material-currency/pdx-material-currency.json-api.md'),
|
|
48219
48493
|
metadata: { currency: 'BRL', locale: 'pt-BR' },
|
|
48494
|
+
stateRecipes: [
|
|
48495
|
+
createDefaultSeedRecipe(18450.75, 'Seeded default preview to expose formatted monetary rendering at first glance.'),
|
|
48496
|
+
],
|
|
48220
48497
|
}),
|
|
48221
48498
|
createEntry({
|
|
48222
48499
|
id: 'slider',
|
|
@@ -48321,6 +48598,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48321
48598
|
avoidWhen: ['data unica'],
|
|
48322
48599
|
dataSourceKind: 'local',
|
|
48323
48600
|
apiPath: jsonApiPath('material-date-range/pdx-material-date-range.json-api.md'),
|
|
48601
|
+
stateRecipes: [
|
|
48602
|
+
createDefaultSeedRecipe({ startDate: '2026-03-01', endDate: '2026-03-23' }, 'Seeded default preview to demonstrate a complete temporal range without switching states.'),
|
|
48603
|
+
],
|
|
48324
48604
|
}),
|
|
48325
48605
|
createEntry({
|
|
48326
48606
|
id: 'datetime-local',
|
|
@@ -48444,6 +48724,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48444
48724
|
{ label: 'Paused', value: 'PAUSED' },
|
|
48445
48725
|
],
|
|
48446
48726
|
},
|
|
48727
|
+
stateRecipes: [
|
|
48728
|
+
createDefaultSeedRecipe('ACTIVE', 'Seeded default preview to reveal selected-label rendering in the base card.'),
|
|
48729
|
+
],
|
|
48447
48730
|
}),
|
|
48448
48731
|
createEntry({
|
|
48449
48732
|
id: 'searchable-select',
|
|
@@ -48636,6 +48919,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48636
48919
|
avoidWhen: ['mais de dois estados'],
|
|
48637
48920
|
dataSourceKind: 'local',
|
|
48638
48921
|
apiPath: jsonApiPath('material-slide-toggle/pdx-material-slide-toggle.json-api.md'),
|
|
48922
|
+
stateRecipes: [
|
|
48923
|
+
createDefaultSeedRecipe(true, 'Seeded default preview to show the canonical boolean-on state at a glance.'),
|
|
48924
|
+
],
|
|
48639
48925
|
}),
|
|
48640
48926
|
createEntry({
|
|
48641
48927
|
id: 'button-toggle',
|
|
@@ -48751,6 +49037,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48751
49037
|
avoidWhen: ['texto longo', 'validacao complexa'],
|
|
48752
49038
|
dataSourceKind: 'local',
|
|
48753
49039
|
apiPath: jsonApiPath('inline-input/pdx-inline-input.json-api.md'),
|
|
49040
|
+
stateRecipes: [
|
|
49041
|
+
createDefaultSeedRecipe('Praxis', 'Seeded default preview to keep inline text examples informative from the first render.'),
|
|
49042
|
+
],
|
|
48754
49043
|
}),
|
|
48755
49044
|
createEntry({
|
|
48756
49045
|
id: 'inline-select',
|
|
@@ -48765,6 +49054,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48765
49054
|
avoidWhen: ['lookup remoto grande'],
|
|
48766
49055
|
dataSourceKind: 'mixed',
|
|
48767
49056
|
apiPath: jsonApiPath('inline-select/pdx-inline-select.json-api.md'),
|
|
49057
|
+
stateRecipes: [
|
|
49058
|
+
createDefaultSeedRecipe('ALPHA', 'Seeded default preview to expose compact selected-pill rendering.'),
|
|
49059
|
+
],
|
|
48768
49060
|
}),
|
|
48769
49061
|
createEntry({
|
|
48770
49062
|
id: 'inline-searchable-select',
|
|
@@ -48962,6 +49254,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
48962
49254
|
avoidWhen: ['toolbar saturada ou data unica'],
|
|
48963
49255
|
dataSourceKind: 'specialized',
|
|
48964
49256
|
apiPath: jsonApiPath('inline-date-range/pdx-inline-date-range.json-api.md'),
|
|
49257
|
+
stateRecipes: [
|
|
49258
|
+
createDefaultSeedRecipe({ startDate: '2026-03-01', endDate: '2026-03-23' }, 'Seeded default preview to show a resolved inline range immediately.'),
|
|
49259
|
+
],
|
|
48965
49260
|
}),
|
|
48966
49261
|
createEntry({
|
|
48967
49262
|
id: 'inline-time',
|
|
@@ -49078,6 +49373,9 @@ const DYNAMIC_FIELDS_PLAYGROUND_CATALOG = [
|
|
|
49078
49373
|
avoidWhen: ['false e null nao estao bem documentados no fluxo'],
|
|
49079
49374
|
dataSourceKind: 'local',
|
|
49080
49375
|
apiPath: jsonApiPath('inline-toggle/pdx-inline-toggle.json-api.md'),
|
|
49376
|
+
stateRecipes: [
|
|
49377
|
+
createDefaultSeedRecipe(true, 'Seeded default preview to show the compact boolean state in toolbar scenarios.'),
|
|
49378
|
+
],
|
|
49081
49379
|
}),
|
|
49082
49380
|
];
|
|
49083
49381
|
|
|
@@ -50914,5 +51212,5 @@ function supportsClearButtonControlType(controlType) {
|
|
|
50914
51212
|
* Generated bundle index. Do not edit.
|
|
50915
51213
|
*/
|
|
50916
51214
|
|
|
50917
|
-
export { ActionResolverService, BRAZIL_INPUTS_AI_CAPABILITIES, CACHE_TTL, CHIPS_CONTROLS_AI_CAPABILITIES, CLEAR_BUTTON_CONTROL_TYPES, COLOR_CONTROLS_AI_CAPABILITIES, CONTROL_TYPE_AI_CATALOGS, ColorInputComponent, ComponentPreloaderService, ComponentRegistryService, ConfirmDialogComponent, DATE_CONTROLS_AI_CAPABILITIES, DISPLAY_ACTION_AI_CAPABILITIES, DYNAMIC_FIELDS_PLAYGROUND_CATALOG, DYNAMIC_FIELD_BASE_STATE_RECIPES, DYNAMIC_FIELD_DEFAULT_STATE_RECIPE, DYNAMIC_FIELD_DISABLED_STATE_RECIPE, DYNAMIC_FIELD_ERROR_STATE_RECIPE, DYNAMIC_FIELD_FILLED_STATE_RECIPE, DYNAMIC_FIELD_READONLY_STATE_RECIPE, DateInputComponent, DateUtilsService, DatetimeLocalInputComponent, DynamicFieldLoaderDirective, EmailInputComponent, FILE_UPLOAD_AI_CAPABILITIES, InlineAsyncSelectComponent, InlineAutocompleteComponent, InlineColorLabelComponent, InlineCurrencyComponent, InlineCurrencyRangeComponent, InlineDateComponent, InlineDateRangeComponent, InlineDistanceRadiusComponent, InlineEntityLookupComponent, InlineInputComponent, InlineMonthRangeComponent, InlineMultiSelectComponent, InlineNumberComponent, InlinePeriodRangeComponent, InlinePipelineStatusComponent, InlineRangeSliderComponent, InlineRatingComponent, InlineRelativePeriodComponent, InlineScorePriorityComponent, InlineSearchableSelectComponent, InlineSelectComponent, InlineSentimentComponent, InlineTimeComponent, InlineTimeRangeComponent, InlineToggleComponent, InlineTreeSelectComponent, InlineYearRangeComponent, KeyboardShortcutService, LIST_CONTROLS_AI_CAPABILITIES, LoggerPresets, MAX_LOAD_ATTEMPTS, MaterialAsyncSelectComponent, MaterialAutocompleteComponent, MaterialAvatarComponent, MaterialButtonComponent, MaterialButtonToggleComponent, MaterialCheckboxGroupComponent, MaterialChipsComponent, MaterialColorPickerComponent, MaterialCpfCnpjInputComponent, MaterialCurrencyComponent, MaterialDateRangeComponent, MaterialDatepickerComponent, MaterialFileUploadComponent, MaterialMultiSelectComponent, MaterialMultiSelectTreeComponent, MaterialPriceRangeComponent, MaterialRadioGroupComponent, MaterialRatingComponent, MaterialSearchableSelectComponent, MaterialSelectComponent, MaterialSelectionListComponent, MaterialSlideToggleComponent, MaterialSliderComponent, MaterialTextareaComponent, MaterialTimepickerComponent, MaterialTransferListComponent, MaterialTreeSelectComponent, MonthInputComponent, NUMERIC_INPUTS_AI_CAPABILITIES, NumberInputComponent, OptionStore, PDX_COLOR_INPUT_COMPONENT_METADATA, PDX_COLOR_PICKER_COMPONENT_METADATA, PDX_DATETIME_LOCAL_INPUT_COMPONENT_METADATA, PDX_DATE_INPUT_COMPONENT_METADATA, PDX_EMAIL_INPUT_COMPONENT_METADATA, PDX_FIELD_SHELL_COMPONENT_METADATA, PDX_INLINE_ASYNC_SELECT_COMPONENT_METADATA, PDX_INLINE_AUTOCOMPLETE_COMPONENT_METADATA, PDX_INLINE_COLOR_LABEL_COMPONENT_METADATA, PDX_INLINE_CURRENCY_COMPONENT_METADATA, PDX_INLINE_CURRENCY_RANGE_COMPONENT_METADATA, PDX_INLINE_DATE_COMPONENT_METADATA, PDX_INLINE_DATE_RANGE_COMPONENT_METADATA, PDX_INLINE_DISTANCE_RADIUS_COMPONENT_METADATA, PDX_INLINE_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_INLINE_INPUT_COMPONENT_METADATA, PDX_INLINE_MONTH_RANGE_COMPONENT_METADATA, PDX_INLINE_MULTI_SELECT_COMPONENT_METADATA, PDX_INLINE_NUMBER_COMPONENT_METADATA, PDX_INLINE_PERIOD_RANGE_COMPONENT_METADATA, PDX_INLINE_PIPELINE_STATUS_COMPONENT_METADATA, PDX_INLINE_RANGE_SLIDER_COMPONENT_METADATA, PDX_INLINE_RATING_COMPONENT_METADATA, PDX_INLINE_RELATIVE_PERIOD_COMPONENT_METADATA, PDX_INLINE_SCORE_PRIORITY_COMPONENT_METADATA, PDX_INLINE_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_INLINE_SELECT_COMPONENT_METADATA, PDX_INLINE_SENTIMENT_COMPONENT_METADATA, PDX_INLINE_TIME_COMPONENT_METADATA, PDX_INLINE_TIME_RANGE_COMPONENT_METADATA, PDX_INLINE_TOGGLE_COMPONENT_METADATA, PDX_INLINE_TREE_SELECT_COMPONENT_METADATA, PDX_INLINE_YEAR_RANGE_COMPONENT_METADATA, PDX_MATERIAL_AVATAR_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_CHECKBOX_GROUP_COMPONENT_METADATA, PDX_MATERIAL_CHIPS_COMPONENT_METADATA, PDX_MATERIAL_COLORPICKER_COMPONENT_METADATA, PDX_MATERIAL_CPF_CNPJ_INPUT_COMPONENT_METADATA, PDX_MATERIAL_CURRENCY_COMPONENT_METADATA, PDX_MATERIAL_DATEPICKER_COMPONENT_METADATA, PDX_MATERIAL_DATE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_FILE_UPLOAD_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_TREE_COMPONENT_METADATA, PDX_MATERIAL_PRICE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_RADIO_GROUP_COMPONENT_METADATA, PDX_MATERIAL_RANGE_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_RATING_COMPONENT_METADATA, PDX_MATERIAL_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SELECTION_LIST_COMPONENT_METADATA, PDX_MATERIAL_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_TEXTAREA_COMPONENT_METADATA, PDX_MATERIAL_TIMEPICKER_COMPONENT_METADATA, PDX_MATERIAL_TIME_RANGE_COMPONENT_METADATA, PDX_MATERIAL_TRANSFER_LIST_COMPONENT_METADATA, PDX_MATERIAL_TREE_SELECT_COMPONENT_METADATA, PDX_MONTH_INPUT_COMPONENT_METADATA, PDX_NUMBER_INPUT_COMPONENT_METADATA, PDX_PASSWORD_INPUT_COMPONENT_METADATA, PDX_PHONE_INPUT_COMPONENT_METADATA, PDX_PRELOAD_STATUS_COMPONENT_METADATA, PDX_SEARCH_INPUT_COMPONENT_METADATA, PDX_TEXT_INPUT_COMPONENT_METADATA, PDX_TIME_INPUT_COMPONENT_METADATA, PDX_URL_INPUT_COMPONENT_METADATA, PDX_WEEK_INPUT_COMPONENT_METADATA, PDX_YEAR_INPUT_COMPONENT_METADATA, PRAXIS_DYNAMIC_FIELDS_EN_US, PRAXIS_DYNAMIC_FIELDS_I18N, PRAXIS_DYNAMIC_FIELDS_LOGGER_BACKEND, PRAXIS_DYNAMIC_FIELDS_PT_BR, PRICE_RANGE_AI_CAPABILITIES, PasswordInputComponent, PdxColorPickerComponent, PdxMaterialRangeSliderComponent, PdxMaterialTimeRangeComponent, PdxYearInputComponent, PhoneInputComponent, PraxisErrorStateMatcher, PreloadStatusComponent, RETRY_DELAY, SELECT_CONTROLS_AI_CAPABILITIES, SearchInputComponent, SimpleBaseButtonComponent, SimpleBaseInputComponent, SimpleBaseSelectComponent, TEXT_INPUTS_AI_CAPABILITIES, TIME_RANGE_AI_CAPABILITIES, TOGGLE_CONTROLS_AI_CAPABILITIES, TREE_CONTROLS_AI_CAPABILITIES, TextInputComponent, TimeInputComponent, UrlInputComponent, WeekInputComponent, YEAR_INPUT_AI_CAPABILITIES, bindDynamicFieldsLoggerBackendFromInjector, clearDynamicFieldsLoggerBackend, configureDynamicFieldsLogger, createDynamicFieldPreviewRecipe, createErrorStateMatcher, createPraxisDynamicFieldsI18nConfig, emitToDynamicFieldsLoggerBackend, enableDebugForComponent, getControlTypeCatalog, getErrorStateMatcherForField, inferErrorStateStrategy, initializeComponentSystem, initializeComponentSystemSync, isBaseDynamicFieldComponent, isLoadingCapableComponent, isValidJsonSchema, isValueBasedComponent, logger, mapJsonSchemaToFields, mapPropertyToFieldMetadata, normalizeFormMetadata, provideMaterialAvatarMetadata, providePraxisDynamicFields, providePraxisDynamicFieldsCore, providePraxisDynamicFieldsCoreNoDefaults, providePraxisDynamicFieldsI18n, providePraxisDynamicFieldsNoDefaults, resolvePraxisDynamicFieldsText, setDynamicFieldsLoggerBackend, silenceComponent, supportsClearButtonControlType };
|
|
51215
|
+
export { ActionResolverService, BRAZIL_INPUTS_AI_CAPABILITIES, CACHE_TTL, CHIPS_CONTROLS_AI_CAPABILITIES, CLEAR_BUTTON_CONTROL_TYPES, COLOR_CONTROLS_AI_CAPABILITIES, CONTROL_TYPE_AI_CATALOGS, ColorInputComponent, ComponentPreloaderService, ComponentRegistryService, ConfirmDialogComponent, DATE_CONTROLS_AI_CAPABILITIES, DISPLAY_ACTION_AI_CAPABILITIES, DYNAMIC_FIELDS_PLAYGROUND_CATALOG, DYNAMIC_FIELD_BASE_STATE_RECIPES, DYNAMIC_FIELD_DEFAULT_STATE_RECIPE, DYNAMIC_FIELD_DISABLED_STATE_RECIPE, DYNAMIC_FIELD_ERROR_STATE_RECIPE, DYNAMIC_FIELD_FILLED_STATE_RECIPE, DYNAMIC_FIELD_PRESENTATION_STATE_RECIPE, DYNAMIC_FIELD_READONLY_STATE_RECIPE, DateInputComponent, DateUtilsService, DatetimeLocalInputComponent, DynamicFieldLoaderDirective, EmailInputComponent, FILE_UPLOAD_AI_CAPABILITIES, InlineAsyncSelectComponent, InlineAutocompleteComponent, InlineColorLabelComponent, InlineCurrencyComponent, InlineCurrencyRangeComponent, InlineDateComponent, InlineDateRangeComponent, InlineDistanceRadiusComponent, InlineEntityLookupComponent, InlineInputComponent, InlineMonthRangeComponent, InlineMultiSelectComponent, InlineNumberComponent, InlinePeriodRangeComponent, InlinePipelineStatusComponent, InlineRangeSliderComponent, InlineRatingComponent, InlineRelativePeriodComponent, InlineScorePriorityComponent, InlineSearchableSelectComponent, InlineSelectComponent, InlineSentimentComponent, InlineTimeComponent, InlineTimeRangeComponent, InlineToggleComponent, InlineTreeSelectComponent, InlineYearRangeComponent, KeyboardShortcutService, LIST_CONTROLS_AI_CAPABILITIES, LoggerPresets, MAX_LOAD_ATTEMPTS, MaterialAsyncSelectComponent, MaterialAutocompleteComponent, MaterialAvatarComponent, MaterialButtonComponent, MaterialButtonToggleComponent, MaterialCheckboxGroupComponent, MaterialChipsComponent, MaterialColorPickerComponent, MaterialCpfCnpjInputComponent, MaterialCurrencyComponent, MaterialDateRangeComponent, MaterialDatepickerComponent, MaterialFileUploadComponent, MaterialMultiSelectComponent, MaterialMultiSelectTreeComponent, MaterialPriceRangeComponent, MaterialRadioGroupComponent, MaterialRatingComponent, MaterialSearchableSelectComponent, MaterialSelectComponent, MaterialSelectionListComponent, MaterialSlideToggleComponent, MaterialSliderComponent, MaterialTextareaComponent, MaterialTimepickerComponent, MaterialTransferListComponent, MaterialTreeSelectComponent, MonthInputComponent, NUMERIC_INPUTS_AI_CAPABILITIES, NumberInputComponent, OptionStore, PDX_COLOR_INPUT_COMPONENT_METADATA, PDX_COLOR_PICKER_COMPONENT_METADATA, PDX_DATETIME_LOCAL_INPUT_COMPONENT_METADATA, PDX_DATE_INPUT_COMPONENT_METADATA, PDX_EMAIL_INPUT_COMPONENT_METADATA, PDX_FIELD_SHELL_COMPONENT_METADATA, PDX_INLINE_ASYNC_SELECT_COMPONENT_METADATA, PDX_INLINE_AUTOCOMPLETE_COMPONENT_METADATA, PDX_INLINE_COLOR_LABEL_COMPONENT_METADATA, PDX_INLINE_CURRENCY_COMPONENT_METADATA, PDX_INLINE_CURRENCY_RANGE_COMPONENT_METADATA, PDX_INLINE_DATE_COMPONENT_METADATA, PDX_INLINE_DATE_RANGE_COMPONENT_METADATA, PDX_INLINE_DISTANCE_RADIUS_COMPONENT_METADATA, PDX_INLINE_ENTITY_LOOKUP_COMPONENT_METADATA, PDX_INLINE_INPUT_COMPONENT_METADATA, PDX_INLINE_MONTH_RANGE_COMPONENT_METADATA, PDX_INLINE_MULTI_SELECT_COMPONENT_METADATA, PDX_INLINE_NUMBER_COMPONENT_METADATA, PDX_INLINE_PERIOD_RANGE_COMPONENT_METADATA, PDX_INLINE_PIPELINE_STATUS_COMPONENT_METADATA, PDX_INLINE_RANGE_SLIDER_COMPONENT_METADATA, PDX_INLINE_RATING_COMPONENT_METADATA, PDX_INLINE_RELATIVE_PERIOD_COMPONENT_METADATA, PDX_INLINE_SCORE_PRIORITY_COMPONENT_METADATA, PDX_INLINE_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_INLINE_SELECT_COMPONENT_METADATA, PDX_INLINE_SENTIMENT_COMPONENT_METADATA, PDX_INLINE_TIME_COMPONENT_METADATA, PDX_INLINE_TIME_RANGE_COMPONENT_METADATA, PDX_INLINE_TOGGLE_COMPONENT_METADATA, PDX_INLINE_TREE_SELECT_COMPONENT_METADATA, PDX_INLINE_YEAR_RANGE_COMPONENT_METADATA, PDX_MATERIAL_AVATAR_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_COMPONENT_METADATA, PDX_MATERIAL_BUTTON_TOGGLE_COMPONENT_METADATA, PDX_MATERIAL_CHECKBOX_GROUP_COMPONENT_METADATA, PDX_MATERIAL_CHIPS_COMPONENT_METADATA, PDX_MATERIAL_COLORPICKER_COMPONENT_METADATA, PDX_MATERIAL_CPF_CNPJ_INPUT_COMPONENT_METADATA, PDX_MATERIAL_CURRENCY_COMPONENT_METADATA, PDX_MATERIAL_DATEPICKER_COMPONENT_METADATA, PDX_MATERIAL_DATE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_FILE_UPLOAD_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_COMPONENT_METADATA, PDX_MATERIAL_MULTI_SELECT_TREE_COMPONENT_METADATA, PDX_MATERIAL_PRICE_RANGE_COMPONENT_METADATA, PDX_MATERIAL_RADIO_GROUP_COMPONENT_METADATA, PDX_MATERIAL_RANGE_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_RATING_COMPONENT_METADATA, PDX_MATERIAL_SEARCHABLE_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SELECTION_LIST_COMPONENT_METADATA, PDX_MATERIAL_SELECT_COMPONENT_METADATA, PDX_MATERIAL_SLIDER_COMPONENT_METADATA, PDX_MATERIAL_TEXTAREA_COMPONENT_METADATA, PDX_MATERIAL_TIMEPICKER_COMPONENT_METADATA, PDX_MATERIAL_TIME_RANGE_COMPONENT_METADATA, PDX_MATERIAL_TRANSFER_LIST_COMPONENT_METADATA, PDX_MATERIAL_TREE_SELECT_COMPONENT_METADATA, PDX_MONTH_INPUT_COMPONENT_METADATA, PDX_NUMBER_INPUT_COMPONENT_METADATA, PDX_PASSWORD_INPUT_COMPONENT_METADATA, PDX_PHONE_INPUT_COMPONENT_METADATA, PDX_PRELOAD_STATUS_COMPONENT_METADATA, PDX_SEARCH_INPUT_COMPONENT_METADATA, PDX_TEXT_INPUT_COMPONENT_METADATA, PDX_TIME_INPUT_COMPONENT_METADATA, PDX_URL_INPUT_COMPONENT_METADATA, PDX_WEEK_INPUT_COMPONENT_METADATA, PDX_YEAR_INPUT_COMPONENT_METADATA, PRAXIS_DYNAMIC_FIELDS_EN_US, PRAXIS_DYNAMIC_FIELDS_I18N, PRAXIS_DYNAMIC_FIELDS_LOGGER_BACKEND, PRAXIS_DYNAMIC_FIELDS_PT_BR, PRICE_RANGE_AI_CAPABILITIES, PasswordInputComponent, PdxColorPickerComponent, PdxMaterialRangeSliderComponent, PdxMaterialTimeRangeComponent, PdxYearInputComponent, PhoneInputComponent, PraxisErrorStateMatcher, PreloadStatusComponent, RETRY_DELAY, SELECT_CONTROLS_AI_CAPABILITIES, SearchInputComponent, SimpleBaseButtonComponent, SimpleBaseInputComponent, SimpleBaseSelectComponent, TEXT_INPUTS_AI_CAPABILITIES, TIME_RANGE_AI_CAPABILITIES, TOGGLE_CONTROLS_AI_CAPABILITIES, TREE_CONTROLS_AI_CAPABILITIES, TextInputComponent, TimeInputComponent, UrlInputComponent, WeekInputComponent, YEAR_INPUT_AI_CAPABILITIES, bindDynamicFieldsLoggerBackendFromInjector, clearDynamicFieldsLoggerBackend, configureDynamicFieldsLogger, createDynamicFieldPreviewRecipe, createErrorStateMatcher, createPraxisDynamicFieldsI18nConfig, emitToDynamicFieldsLoggerBackend, enableDebugForComponent, getControlTypeCatalog, getErrorStateMatcherForField, inferErrorStateStrategy, initializeComponentSystem, initializeComponentSystemSync, isBaseDynamicFieldComponent, isLoadingCapableComponent, isValidJsonSchema, isValueBasedComponent, logger, mapJsonSchemaToFields, mapPropertyToFieldMetadata, normalizeFormMetadata, provideMaterialAvatarMetadata, providePraxisDynamicFields, providePraxisDynamicFieldsCore, providePraxisDynamicFieldsCoreNoDefaults, providePraxisDynamicFieldsI18n, providePraxisDynamicFieldsNoDefaults, resolvePraxisDynamicFieldsText, setDynamicFieldsLoggerBackend, silenceComponent, supportsClearButtonControlType };
|
|
50918
51216
|
//# sourceMappingURL=praxisui-dynamic-fields.mjs.map
|