@praxisui/dynamic-fields 9.0.4-rc.18 → 9.0.4-rc.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-fields",
3
- "version": "9.0.4-rc.18",
3
+ "version": "9.0.4-rc.19",
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.4-rc.18",
15
- "@praxisui/cron-builder": "^9.0.4-rc.18"
14
+ "@praxisui/core": "^9.0.4-rc.19",
15
+ "@praxisui/cron-builder": "^9.0.4-rc.19"
16
16
  },
17
17
  "dependencies": {
18
18
  "libphonenumber-js": "^1.12.41",
@@ -21,8 +21,8 @@ source_of_truth:
21
21
  - "projects/praxis-dynamic-fields/src/lib/components/inline-entity-lookup/inline-entity-lookup.component.ts"
22
22
  - "projects/praxis-dynamic-fields/src/lib/components/material-async-select/material-async-select.component.ts"
23
23
  - "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
24
- source_of_truth_last_verified: "2026-07-26"
25
- last_updated: "2026-07-26"
24
+ source_of_truth_last_verified: "2026-08-03"
25
+ last_updated: "2026-08-03"
26
26
  toc: true
27
27
  sidebar: true
28
28
  tags:
@@ -128,10 +128,19 @@ Este documento e a referencia canonica da API JSON de pdx-inline-entity-lookup.
128
128
  | `metadata.optionSource.display.secondaryPropertyPaths` | string[] | false | n/a | Active | Campos de subtitulo usados para diferenciar entidades parecidas. |
129
129
  | `metadata.optionSource.display.fields` | object[] | false | n/a | Active | Campos ricos semanticos exibidos na lista e no valor selecionado. Cada item aceita `key`, `propertyPath`, `label`, `icon`, `presentation`, `tone` e `format`. |
130
130
  | `metadata.optionSource.display.badgePropertyPaths` | string[] | false | n/a | Active | Campos publicados como badges/chips quando o backend tambem os materializa no payload de option. |
131
+ | `metadata.optionSource.display.statusLabelMap` | Record<string, string> | false | n/a | Active | Traduz somente o rótulo visual do status; o código canônico continua governando seleção, filtros e tons. |
131
132
  | `metadata.searchable` | boolean | false | `true` para fontes nao categoricas | Active | Materializa a acao acessivel de busca no sufixo e abre o dialogo governado sem inserir controles interativos no listbox do `MatSelect`. |
132
133
  | `metadata.dialog` | object | false | configuracao derivada do campo | Active | Customiza titulo, tamanho, preview, colunas e acoes da busca governada. |
133
134
  | `metadata.dialog.enabled` | boolean | false | herda `metadata.searchable` | Active | `false` desativa explicitamente a superficie de busca; `true` a habilita mesmo quando `searchable=false`. |
134
135
 
136
+ The governed search dialog owns a visible close action, focuses the search
137
+ input when it opens, restores focus on close, constrains itself to the viewport,
138
+ and presents remote failures with a retry action. Canonical search strategy
139
+ `kind` values are translated into business-facing labels; internal strategy
140
+ keys are not exposed as the primary copy. Remote option sources may require an
141
+ authenticated host context. The component preserves that boundary and never
142
+ falls back to an unprotected resource endpoint when authorization fails.
143
+
135
144
  ### Path audit
136
145
 
137
146
  Nenhum desvio de caminho foi identificado nesta revisao.
@@ -336,6 +345,7 @@ Use quando precisar:
336
345
  | `metadata.optionSource.display.secondaryPropertyPaths` | `string[]` | Ativo | Campos usados como subtitulo quando o payload local ou remoto preserva essas propriedades. O runtime tambem aceita `descriptionPropertyPaths` como fallback. |
337
346
  | `metadata.optionSource.display.fields` | `object[]` | Ativo | Subinformacoes ricas com `propertyPath`, `label`, `icon`, `presentation` (`text`, `chip`, `badge`, `date`, `currency`, `metric`), `tone` e `format`. Quando o endpoint materializa `OptionDTO.extra.richFields[]`, esses valores sao usados diretamente. |
338
347
  | `metadata.optionSource.display.badgePropertyPaths` | `string[]` | Ativo | Campos usados para badges/chips quando materializados no payload da option-source. |
348
+ | `metadata.optionSource.display.statusLabelMap` | `Record<string, string>` | Ativo | Mapeia códigos canônicos para rótulos localizados sem alterar o valor usado por `selectionPolicy`. |
339
349
  | `metadata.resourcePath` | `string` | Ativo | Caminho operacional herdado. Para Entity Lookup de plataforma, preferir `metadata.optionSource.resourcePath`. |
340
350
  | `metadata.inlineAutoSize.*` | `object` | Ativo | Largura responsiva da pill lookup. |
341
351
  | `metadata.selectedLayout` | `"compact" | "inline" | "card" | "token"` | Ativo | Para `controlType: "entityLookup"`, `compact` e o default preservam altura de campo de formulario. `card` renderiza valor selecionado como cartao rico quando a superficie pedir revisao/detalhe. `token` preserva leitura compacta herdada. |
@@ -348,6 +358,7 @@ Use quando precisar:
348
358
  | `metadata.showDisabledReason` | `boolean` | Ativo | Controla exibicao do motivo de bloqueio quando `selectable=false`. Default: `true`. |
349
359
  | `metadata.showResultCount` | `boolean` | Ativo | Controla contador de resultados no painel de busca. Quando `totalElements` remoto for maior que os itens carregados, mostra `carregados de total` para deixar claro que a lista visivel ainda e uma pagina parcial; em fontes locais/cursor, mostra o total carregado. Default: `true`. |
350
360
  | `metadata.statusToneMap` | `Record<string, "success" | "warning" | "danger" | "neutral">` | Ativo | Permite mapear status de dominio para tom visual governado. |
361
+ | `metadata.statusLabelMap` | `Record<string, string>` | Ativo | Override local do mapa de rótulos; prefira `optionSource.display.statusLabelMap` como fonte governada. |
351
362
  | `metadata.badgeKeys` | `string[]` | Ativo | Chaves adicionais lidas do valor de entidade para compor badges auxiliares. |
352
363
  | `metadata.maxVisibleBadges` | `number` | Ativo | Limita quantidade de badges auxiliares exibidos. Default: `3`. |
353
364
  | `metadata.actions.showDetail` | `boolean` | Ativo | Controla acao de detalhe quando houver surface canonica, `detailRoute` navegavel ou `detailHref` nao-API. `detailHref` de API nao abre nova aba para evitar link morto em hosts corporativos. Default: `true`. |
@@ -434,6 +445,10 @@ Uso: lookup simples em lista local.
434
445
  "showCode": false,
435
446
  "showDescription": true,
436
447
  "showStatus": true,
448
+ "statusLabelMap": {
449
+ "ACTIVE": "Ativa",
450
+ "BLOCKED": "Bloqueada"
451
+ },
437
452
  "showBadges": true,
438
453
  "showResultCount": true
439
454
  }
@@ -2114,7 +2114,9 @@ declare class MaterialDateRangeComponent extends SimpleBaseInputComponent implem
2114
2114
  protected normalizeDateRangeValue(value: unknown): DateRangeValue | null;
2115
2115
  private coerceDateLike;
2116
2116
  private metadataAsField;
2117
- private resolveAdapterLocale;
2117
+ protected syncDateAdapterLocale(): void;
2118
+ protected resolveBuiltinPresetLabel(id: string, fallback: string, overrides: Record<string, string | undefined>): string;
2119
+ protected resolveAdapterLocale(): string;
2118
2120
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaterialDateRangeComponent, never>;
2119
2121
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MaterialDateRangeComponent, "pdx-material-date-range", never, { "readonlyMode": { "alias": "readonlyMode"; "required": false; }; "disabledMode": { "alias": "disabledMode"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "presentationMode": { "alias": "presentationMode"; "required": false; }; "metadataInput": { "alias": "metadata"; "required": false; }; }, { "validationChange": "validationChange"; }, never, never, true, never>;
2120
2122
  }
@@ -2901,6 +2903,7 @@ interface EntityLookupViewModel {
2901
2903
  label: string;
2902
2904
  description: string;
2903
2905
  status: string;
2906
+ statusCode: string;
2904
2907
  statusTone: LookupStatusTone;
2905
2908
  selectable: boolean;
2906
2909
  selectionState: EntityLookupResultState;
@@ -3088,6 +3091,7 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
3088
3091
  dialogOpenSupportingText(): string;
3089
3092
  dialogContextSupportingText(hasActiveFilters: boolean): string;
3090
3093
  dialogApplyActionText(): string;
3094
+ dialogCurrentSelectionText(value: string): string;
3091
3095
  dialogFilterPanelToggleText(open: boolean): string;
3092
3096
  dialogFilterPlaceholderText(operator: LookupFilterOperator, type: LookupFilterFieldType): string;
3093
3097
  dialogFilterOperatorHintText(operator: LookupFilterOperator): string;
@@ -3102,6 +3106,14 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
3102
3106
  dialogResultsAriaLabelText(): string;
3103
3107
  dialogFiltersAriaLabelText(): string;
3104
3108
  dialogPreviewAriaLabelText(): string;
3109
+ dialogCloseAriaLabelText(): string;
3110
+ dialogLoadErrorTitleText(): string;
3111
+ dialogLoadErrorSupportingText(): string;
3112
+ dialogRetryActionText(): string;
3113
+ lookupSearchStrategyOptionText(strategy: {
3114
+ key?: string;
3115
+ kind?: string;
3116
+ }): string;
3105
3117
  dialogResultOptionAriaLabel(item: EntityLookupViewModel): string;
3106
3118
  dialogCancelActionText(): string;
3107
3119
  dialogTitleText(): string;
@@ -3148,6 +3160,7 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent {
3148
3160
  private normalizeLookupTone;
3149
3161
  private classifyLookupSelectionState;
3150
3162
  private resolveStatusTone;
3163
+ private resolveStatusLabel;
3151
3164
  private lookupSeparator;
3152
3165
  private normalizeLookupText;
3153
3166
  private normalizeLookupOptionalText;
@@ -3221,6 +3234,15 @@ declare class EntityLookupDialogComponent implements AfterViewInit {
3221
3234
  onSearchStrategyChange(event: Event): void;
3222
3235
  searchStrategyLabel(): string;
3223
3236
  searchStrategyDefaultLabel(): string;
3237
+ searchStrategyOptionText(strategy: {
3238
+ key?: string;
3239
+ kind?: string;
3240
+ }): string;
3241
+ closeAriaLabel(): string;
3242
+ errorStateTitle(): string;
3243
+ errorStateSupporting(): string;
3244
+ retryActionText(): string;
3245
+ retryResults(): void;
3224
3246
  sortOptions(): _praxisui_core.LookupSortOptionMetadata[];
3225
3247
  trackLookupSortOption(index: number, option: {
3226
3248
  key?: string;