@praxisui/dynamic-fields 9.0.4 → 9.0.5-rc.10

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",
3
+ "version": "9.0.5-rc.10",
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",
15
- "@praxisui/cron-builder": "^9.0.4"
14
+ "@praxisui/core": "^9.0.5-rc.10",
15
+ "@praxisui/cron-builder": "^9.0.5-rc.10"
16
16
  },
17
17
  "dependencies": {
18
18
  "libphonenumber-js": "^1.12.41",
@@ -311,7 +311,7 @@ Resumo de composicao deste componente:
311
311
 
312
312
  ### 4. Mapeamento de Comportamento
313
313
  - Trigger em pill + badge de quantidade quando multiplo.
314
- - Painel com busca em tempo real (`termControl`) e rodape compartilhado: o rodape e materializado como irmao do `listbox` no overlay, nunca como opcao. `Carregar mais` e um botao real de largura total e alvo minimo de 44 px; durante a paginacao ele permanece visivel, ocupado e desabilitado. `Tab` transfere o foco da busca para a primeira acao habilitada; `Fim de lista` e um status, fora da semantica de opcoes.
314
+ - Painel com busca em tempo real (`termControl`) e rodape compartilhado: o rodape e materializado como irmao do `listbox` no dialog de colecao, nunca como opcao. `Carregar mais` e um botao real de largura total e alvo minimo de 44 px; durante a paginacao ele permanece visivel, ocupado e desabilitado. `Tab`/`Shift+Tab` percorrem e ciclam os controles do dialog sem fecha-lo; selecao, `Escape` e clique externo fecham e restauram o trigger. `Fim de lista` e um status, fora da semantica de opcoes.
315
315
  - Se `resourcePath` ausente, busca opera sobre snapshot local.
316
316
 
317
317
  ### 5. Exemplo Minimo (JSON + Uso)
@@ -308,7 +308,7 @@ Resumo de composicao deste componente:
308
308
  - `Extensao de runtime`: `searchPlaceholder` e `inlineAutoSize.*`.
309
309
 
310
310
  ### 4. Mapeamento de Comportamento
311
- - A paginacao usa o rodape compartilhado da familia de selects, materializado como irmao do `listbox` no overlay: botao `Carregar mais` com alvo minimo de 44 px, estado ocupado sem salto de layout e acesso por `Tab` a partir da busca. A acao nao participa da semantica de opcoes.
311
+ - A paginacao usa o rodape compartilhado da familia de selects, materializado como irmao do `listbox` no dialog de colecao: botao `Carregar mais` com alvo minimo de 44 px, estado ocupado sem salto de layout e acesso por `Tab` a partir da busca. `Tab`/`Shift+Tab` ciclam entre os controles do dialog; selecao, `Escape` e clique externo fecham e restauram o trigger. A acao nao participa da semantica de opcoes.
312
312
  - Trigger exibe label e, em modo multiplo, badge de quantidade.
313
313
  - Painel contem input de busca e estados de loading/fim de lista.
314
314
  - Quando sem `resourcePath`, usa filtragem local da lista estatica.
@@ -348,7 +348,7 @@ Precedencia de comportamento:
348
348
  3. `optionSource` ativa consulta remota pelo endpoint canonico `/option-sources/{key}/options/filter`.
349
349
  4. `resourcePath` ativa consulta remota paginada legada com termo de busca.
350
350
  5. Com `resourcePath` e `loadOn='open'`, o painel abre mesmo antes da primeira pagina remota para disparar a carga inicial; a opcao sentinela usada para isso e interna, invisivel e nao compoe contrato visual publico.
351
- 6. `Carregar mais` so aparece depois de uma primeira pagina remota carregada com sucesso e com proxima pagina disponivel; durante a paginacao permanece visivel, ocupado e desabilitado para evitar requisicoes duplicadas e salto de layout. A acao usa o rodape compartilhado, materializado como irmao do `listbox` no overlay, tem alvo minimo de 44 px, recebe foco por `Tab` a partir da busca e nao participa da semantica de opcoes.
351
+ 6. `Carregar mais` so aparece depois de uma primeira pagina remota carregada com sucesso e com proxima pagina disponivel; durante a paginacao permanece visivel, ocupado e desabilitado para evitar requisicoes duplicadas e salto de layout. A acao usa o rodape compartilhado, materializado como irmao do `listbox` no dialog de colecao, tem alvo minimo de 44 px, recebe foco por `Tab` a partir da busca e nao participa da semantica de opcoes. `Tab`/`Shift+Tab` ciclam dentro do dialog; selecao, `Escape` e clique externo fecham e restauram o trigger.
352
352
  7. fontes locais (`selectOptions`/`options`) e `loadOn='none'` antes da primeira carga nao exibem acao de paginacao.
353
353
 
354
354
  #### Status model
@@ -2545,18 +2545,23 @@ type PdxCollectionOverlayCloseReason = 'escape' | 'outside' | 'detach' | 'progra
2545
2545
  declare class PdxCollectionOverlayComponent {
2546
2546
  readonly open: _angular_core.ModelSignal<boolean>;
2547
2547
  readonly ariaLabel: _angular_core.InputSignal<string>;
2548
+ /** Optional explicit dialog id. A unique id is generated for direct legacy consumers. */
2549
+ readonly panelId: _angular_core.InputSignal<string | null>;
2548
2550
  readonly panelClass: _angular_core.InputSignal<string>;
2549
2551
  readonly panelWidth: _angular_core.InputSignal<string | number | null>;
2550
2552
  readonly density: _angular_core.InputSignal<"compact" | "regular">;
2551
2553
  readonly opened: _angular_core.OutputEmitterRef<void>;
2552
2554
  readonly closed: _angular_core.OutputEmitterRef<PdxCollectionOverlayCloseReason>;
2555
+ private readonly fallbackPanelId;
2553
2556
  readonly trigger: _angular_core.Signal<PdxCollectionOverlayTriggerDirective>;
2554
2557
  readonly positions: ConnectedPosition[];
2555
2558
  resolvedPanelWidth(): number | string;
2559
+ resolvedPanelClasses(): string[];
2560
+ resolvedPanelId(): string;
2556
2561
  close(reason: PdxCollectionOverlayCloseReason, restoreFocus?: boolean): void;
2557
2562
  onOverlayKeydown(event: KeyboardEvent): void;
2558
2563
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdxCollectionOverlayComponent, never>;
2559
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdxCollectionOverlayComponent, "pdx-collection-overlay", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, ["trigger"], ["[pdxCollectionOverlayTrigger]", "[pdxCollectionOverlayHeader]", "[pdxCollectionOverlayOptions]", "[pdxCollectionOverlayFooter]"], true, never>;
2564
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdxCollectionOverlayComponent, "pdx-collection-overlay", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": true; "isSignal": true; }; "panelId": { "alias": "panelId"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "opened": "opened"; "closed": "closed"; }, ["trigger"], ["[pdxCollectionOverlayTrigger]", "[pdxCollectionOverlayHeader]", "[pdxCollectionOverlayOptions]", "[pdxCollectionOverlayFooter]"], true, never>;
2560
2565
  }
2561
2566
 
2562
2567
  declare class MaterialSelectComponent extends SimpleBaseSelectComponent {
@@ -2587,6 +2592,7 @@ declare class MaterialSelectComponent extends SimpleBaseSelectComponent {
2587
2592
  materialDisplayText(): string;
2588
2593
  labelId(): string;
2589
2594
  panelId(): string;
2595
+ overlayId(): string;
2590
2596
  overlayPanelWidth(): string;
2591
2597
  private focusOverlayOption;
2592
2598
  private sameValue;
@@ -2634,6 +2640,7 @@ declare class InlineSelectComponent extends SimpleBaseSelectComponent {
2634
2640
  selectEmptyOption(): void;
2635
2641
  onOptionKeydown(event: KeyboardEvent): void;
2636
2642
  panelId(): string;
2643
+ overlayId(): string;
2637
2644
  overlayPanelWidth(): string;
2638
2645
  private focusOverlayOption;
2639
2646
  onSearchInput(term: string): void;
@@ -2720,6 +2727,7 @@ declare class MaterialSearchableSelectComponent extends SimpleBaseSelectComponen
2720
2727
  materialDisplayText(): string;
2721
2728
  labelId(): string;
2722
2729
  panelId(): string;
2730
+ overlayId(): string;
2723
2731
  overlayPanelWidth(): string;
2724
2732
  private getSelectedIds;
2725
2733
  private preloadSelected;
@@ -2880,6 +2888,7 @@ declare class MaterialAsyncSelectComponent extends SimpleBaseSelectComponent {
2880
2888
  materialDisplayText(): string;
2881
2889
  materialLabelId(): string;
2882
2890
  materialPanelId(): string;
2891
+ materialOverlayId(): string;
2883
2892
  materialOverlayPanelWidth(): string;
2884
2893
  usesSearchCombobox(): boolean;
2885
2894
  comboboxInputAriaLabel(): string;
@@ -3017,6 +3026,7 @@ declare class InlineAsyncSelectComponent extends MaterialAsyncSelectComponent {
3017
3026
  showEndReachedMessage(): boolean;
3018
3027
  overlayPanelWidth(): string;
3019
3028
  panelId(): string;
3029
+ overlayId(): string;
3020
3030
  isOverlayDisabled(): boolean;
3021
3031
  private focusOverlayOption;
3022
3032
  onLoadMoreClick(event: MouseEvent): void;
@@ -3558,6 +3568,7 @@ declare class InlineMultiSelectComponent extends SimpleBaseSelectComponent {
3558
3568
  toggleOverlayValue(value: unknown): void;
3559
3569
  toggleOverlaySelectAll(): void;
3560
3570
  panelId(): string;
3571
+ overlayId(): string;
3561
3572
  overlayPanelWidth(): string;
3562
3573
  showPanelActions(): boolean;
3563
3574
  showPanelClearAction(): boolean;