@praxisui/dynamic-fields 9.0.15 → 9.0.17

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.15",
3
+ "version": "9.0.17",
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.15",
15
- "@praxisui/cron-builder": "^9.0.15"
14
+ "@praxisui/core": "^9.0.17",
15
+ "@praxisui/cron-builder": "^9.0.17"
16
16
  },
17
17
  "dependencies": {
18
18
  "libphonenumber-js": "^1.12.41",
@@ -362,7 +362,7 @@ Use quando precisar:
362
362
  | `metadata.badgeKeys` | `string[]` | Ativo | Chaves adicionais lidas do valor de entidade para compor badges auxiliares. |
363
363
  | `metadata.maxVisibleBadges` | `number` | Ativo | Limita quantidade de badges auxiliares exibidos. Default: `3`. |
364
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`. |
365
- | `metadata.actions.showChange` | `boolean` | Ativo | Controla acao de troca no cartao selecionado. Default: `true`. |
365
+ | `metadata.actions.showChange` | `boolean` | Ativo | Override explicito da acao de troca no valor selecionado. Sem configuracao, o default e `true` no campo completo e `false` no controle inline, que usa o proprio trigger do combobox como affordance de troca. |
366
366
  | `metadata.actions.showCopyCode` | `boolean` | Ativo | Controla acao de copiar codigo/id. Default: `true`. |
367
367
  | `metadata.actions.showClear` | `boolean` | Ativo | Controla acao de limpar em conjunto com `clearButton`/clearable herdado. |
368
368
  | `metadata.detailActionLabel` / `metadata.changeActionLabel` / `metadata.copyCodeActionLabel` / `metadata.clearActionLabel` | `string` | Ativo | Overrides textuais das acoes do cartao selecionado. |
@@ -387,6 +387,8 @@ Resumo de composicao deste componente:
387
387
  - Em uso standalone de shell/topbar autenticado, o componente aceita `FormControl` externo com `initialMetadata` estático e `options` locais. Um valor inicial já selecionado no controle deve materializar o texto da opção local sem bloquear a montagem da rota nem realimentar change detection quando a metadata recebida for semanticamente equivalente.
388
388
  - `metadata.resourcePath` continua aceito como configuracao operacional herdada, mas nao substitui a semantica canonica de entidade publicada em `metadata.optionSource`.
389
389
  - As acoes de painel ficam em um rodape materializado como irmao do `listbox` no overlay: `Limpar selecao` e uma acao secundaria alinhada ao inicio; `Carregar mais` e uma acao de largura total, com alvo minimo de 44 px, estado ocupado e foco visivel. `Tab` transfere o foco da busca para a primeira acao habilitada. Nenhuma delas participa da navegacao semantica de opcoes.
390
+ - No dialog, `ArrowDown` e `Tab` transferem o foco da busca para o resultado ativo; sem resultados, `Tab` avanca para a primeira acao habilitada. `Shift+Tab` preserva a ordem reversa, `Escape` fecha o overlay e o foco retorna ao trigger de origem.
391
+ - No controle inline selecionado, detalhe, troca, copia, remocao e limpeza formam um unico segmento visual adjacente ao trigger. O segmento so existe quando pelo menos uma acao esta materializada; campos obrigatorios, somente leitura ou limitados por permissao nao expõem grupo vazio.
390
392
  - A reidratacao por IDs preserva o valor selecionado, mas nao conta como carga da pagina zero. No primeiro `open`, o runtime consulta a pagina zero antes de habilitar `Carregar mais`; o contador remoto e a lista visivel permanecem coerentes.
391
393
  - Durante busca digitada, a lista visivel mostra apenas resultados retornados pela pagina remota filtrada. O selecionado reidratado por ID nao e injetado como falso resultado, embora continue preservado para display fechado e reabertura sem termo.
392
394
  - `OptionDTO.extra.selectable === false` desabilita a opcao e permite exibir `disabledReason` sem remover a entidade da lista ou da reidratacao.
@@ -3161,6 +3161,7 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent i
3161
3161
  errorStateMatcher(): _angular_material_core.ErrorStateMatcher;
3162
3162
  protected getSpecificCssClasses(): string[];
3163
3163
  selectPanelClasses(): string[];
3164
+ selectPanelWidth(): string;
3164
3165
  hasSelection(): boolean;
3165
3166
  selectedCount(): number;
3166
3167
  panelActionsVisible(): boolean;
@@ -3207,6 +3208,7 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent i
3207
3208
  showDetailAction(item: EntityLookupViewModel): boolean;
3208
3209
  private hasGovernedDetailSurface;
3209
3210
  showChangeAction(): boolean;
3211
+ hasExternalSelectionActions(item: EntityLookupViewModel): boolean;
3210
3212
  showCopyCodeAction(item: EntityLookupViewModel): boolean;
3211
3213
  showCopyIdAction(item: EntityLookupViewModel): boolean;
3212
3214
  showCreateAction(): boolean;
@@ -3308,7 +3310,6 @@ declare class InlineEntityLookupComponent extends MaterialAsyncSelectComponent i
3308
3310
  private lookupDialogMetadata;
3309
3311
  private resolveDialogWidth;
3310
3312
  private humanizeLookupField;
3311
- private interpolateLookupText;
3312
3313
  private lookupDependencyLabels;
3313
3314
  private missingDependencyLabels;
3314
3315
  private hasDependencyValue;
@@ -3490,6 +3491,7 @@ declare class EntityLookupDialogComponent implements AfterViewInit {
3490
3491
  resultRowTabIndex(index: number): number;
3491
3492
  resultRowAriaLabel(option: LookupOption): string;
3492
3493
  setActiveResult(index: number, option: LookupOption): void;
3494
+ onSearchInputKeydown(event: KeyboardEvent): void;
3493
3495
  onResultRowKeydown(event: KeyboardEvent, index: number, option: LookupOption): void;
3494
3496
  showPreviewDetailAction(item: EntityLookupViewModel): boolean;
3495
3497
  showPreviewCopyCodeAction(item: EntityLookupViewModel): boolean;