@praxisui/dynamic-fields 9.0.0-beta.4 → 9.0.0-beta.6

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.0-beta.4",
3
+ "version": "9.0.0-beta.6",
4
4
  "description": "Angular Material-based dynamic form fields for Praxis UI with lazy loading and metadata-driven rendering.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -11,8 +11,8 @@
11
11
  "@angular/platform-browser": "^21.0.0",
12
12
  "@angular/router": "^21.0.0",
13
13
  "rxjs": "^7.8.0",
14
- "@praxisui/core": "^9.0.0-beta.4",
15
- "@praxisui/cron-builder": "^9.0.0-beta.4"
14
+ "@praxisui/core": "^9.0.0-beta.6",
15
+ "@praxisui/cron-builder": "^9.0.0-beta.6"
16
16
  },
17
17
  "dependencies": {
18
18
  "libphonenumber-js": "^1.12.41",
@@ -285,7 +285,7 @@ Use quando precisar:
285
285
  | `metadata` | `MaterialSelectMetadata` | - | Sim | Contrato principal do filtro color label. |
286
286
  | `readonlyMode/disabledMode/visible/presentationMode` | `boolean` | `false/false/true/false` | Nao | Estados de host do campo inline. |
287
287
  | `selectionChange` | `T \| T[]` | - | Output herdado | Valor selecionado (single/multiple). |
288
- | `optionSelected` | `SelectOption` | - | Output herdado | Opcao acionada no painel. |
288
+ | `optionSelected` | `SelectOption` | - | Output herdado | Opção acionada no painel. |
289
289
  | `optionsLoaded` | `SelectOption[]` | - | Output herdado | Carga remota quando `resourcePath` for usado. |
290
290
 
291
291
  ### 3. Matriz de Cobertura JSON (Completa)
@@ -22,8 +22,8 @@ source_of_truth:
22
22
  - "projects/praxis-dynamic-fields/src/lib/components/material-price-range/material-price-range.component.ts"
23
23
  - "projects/praxis-dynamic-fields/src/lib/base/simple-base-input.component.ts"
24
24
  - "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
25
- source_of_truth_last_verified: "2026-03-06"
26
- last_updated: "2026-03-06"
25
+ source_of_truth_last_verified: "2026-06-16"
26
+ last_updated: "2026-06-16"
27
27
  toc: true
28
28
  sidebar: true
29
29
  tags:
@@ -311,10 +311,10 @@ Use quando precisar:
311
311
  | `metadata.distribution` / `metadata.rangeDistribution` | `object \| array \| string` | Ativo | Alias para distribuicao inline. |
312
312
  | `metadata.histogram` / `metadata.rangeHistogram` | `object \| array \| string` | Ativo | Alias de histograma aceito em runtime. |
313
313
  | `metadata.inlineAutoSize.*` | `object` | Ativo | Largura da pill e painel no modo inline. |
314
- | `metadata.inlineOverlay.applyMode` | `"explicit" \| "auto"` | Ativo | Modo de commit do painel inline; default pratico do componente e `explicit`. |
315
- | `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria, icone, aparencia e papel de cor da acao Aplicar/Concluir. |
316
- | `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura label, aria, icone, aparencia e papel de cor da acao Cancelar. |
317
- | `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura label, aria, icone, aparencia, visibilidade e papel de cor da acao Limpar no painel. |
314
+ | `metadata.inlineOverlay.applyMode` | `"explicit" \| "auto"` | Ativo | Modo de commit do painel inline; default prático do componente é `explicit`. |
315
+ | `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria, ícone, aparência e papel de cor da ação Aplicar/Concluir; tem precedência sobre o default i18n `inlineCurrencyRange.actions.apply`. |
316
+ | `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura label, aria, ícone, aparência, visibilidade e papel de cor da ação Cancelar; tem precedência sobre o default i18n `inlineCurrencyRange.actions.cancel`. |
317
+ | `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura label, aria, ícone, aparência, visibilidade e papel de cor da ação Limpar no painel; tem precedência sobre o default i18n `inlineCurrencyRange.actions.clear`. |
318
318
  | `metadata.validators.*` | `object` | Parcial | Mensagens custom parciais; erros principais de faixa usam texto interno no componente. |
319
319
 
320
320
  #### 3.2 Campos herdados compartilhados (exaustivo)
@@ -330,7 +330,7 @@ Resumo de composicao deste componente:
330
330
  - Selecao respeita clamp por min/max e snap por `step`.
331
331
  - Distribuicao calcula visual adaptativo (altura, gap, opacidade, agregacao de bins).
332
332
  - `clearButton` limpa ambos os extremos com quick-clear no trigger.
333
- - `inlineOverlay.actions.*` materializa acoes do painel com tokens de tema; `applyMode="auto"` comita durante a interacao e oculta Cancelar.
333
+ - `inlineOverlay.actions.*` materializa ações do painel com tokens de tema e precedência sobre defaults i18n (`inlineCurrencyRange.actions.*`); `applyMode="auto"` comita durante a interação e oculta Cancelar.
334
334
 
335
335
  ### 5. Exemplo Minimo (JSON + Uso)
336
336
  ```json
@@ -347,7 +347,7 @@ Resumo de composicao deste componente:
347
347
  }
348
348
  }
349
349
  ```
350
- Uso: filtro basico de faixa monetaria.
350
+ Uso: filtro básico de faixa monetária.
351
351
 
352
352
  ### 6. Exemplo Corporativo (JSON + Uso)
353
353
  ```json
@@ -364,13 +364,21 @@ Uso: filtro basico de faixa monetaria.
364
364
  "min": 0,
365
365
  "max": 500000,
366
366
  "step": 500,
367
- "inlinePanelTitle": "Ajustar faixa de orcamento",
367
+ "inlinePanelTitle": "Ajustar faixa de orçamento",
368
368
  "inlineDistribution": {
369
369
  "bins": [5, 8, 13, 21, 18, 9],
370
370
  "height": 42,
371
371
  "gap": 3,
372
372
  "opacity": 0.9
373
373
  },
374
+ "inlineOverlay": {
375
+ "applyMode": "explicit",
376
+ "actions": {
377
+ "apply": { "label": "Aplicar faixa", "appearance": "filled", "colorRole": "primary" },
378
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
379
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
380
+ }
381
+ },
374
382
  "inlineAutoSize": {
375
383
  "minWidth": 190,
376
384
  "maxWidth": 360,
@@ -503,7 +511,7 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
503
511
  "min": 0,
504
512
  "max": 500000,
505
513
  "step": 500,
506
- "inlinePanelTitle": "pdx-inline-currency-range-common",
514
+ "inlinePanelTitle": "Ajustar faixa monetária",
507
515
  "inlineDistribution": {
508
516
  "bins": [
509
517
  5,
@@ -517,6 +525,14 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
517
525
  "gap": 3,
518
526
  "opacity": 0.9
519
527
  },
528
+ "inlineOverlay": {
529
+ "applyMode": "explicit",
530
+ "actions": {
531
+ "apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
532
+ "cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
533
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
534
+ }
535
+ },
520
536
  "inlineAutoSize": {
521
537
  "minWidth": 190,
522
538
  "maxWidth": 360,
@@ -547,7 +563,7 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
547
563
  "min": 5,
548
564
  "max": 500000,
549
565
  "step": 500,
550
- "inlinePanelTitle": "Ajustar faixa de orcamento",
566
+ "inlinePanelTitle": "Ajustar faixa de orçamento",
551
567
  "inlineDistribution": {
552
568
  "bins": [
553
569
  5,
@@ -561,6 +577,14 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
561
577
  "gap": 3,
562
578
  "opacity": 0.9
563
579
  },
580
+ "inlineOverlay": {
581
+ "applyMode": "explicit",
582
+ "actions": {
583
+ "apply": { "label": "Aplicar faixa", "appearance": "filled", "colorRole": "primary" },
584
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
585
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
586
+ }
587
+ },
564
588
  "inlineAutoSize": {
565
589
  "minWidth": 190,
566
590
  "maxWidth": 360,
@@ -593,7 +617,7 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
593
617
  "min": 0,
594
618
  "max": 500000,
595
619
  "step": 500,
596
- "inlinePanelTitle": "Ajustar faixa de orcamento",
620
+ "inlinePanelTitle": "Ajustar faixa de orçamento",
597
621
  "inlineDistribution": {
598
622
  "bins": [
599
623
  5,
@@ -607,6 +631,14 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
607
631
  "gap": 3,
608
632
  "opacity": 0.9
609
633
  },
634
+ "inlineOverlay": {
635
+ "applyMode": "explicit",
636
+ "actions": {
637
+ "apply": { "label": "Aplicar faixa", "appearance": "filled", "colorRole": "primary" },
638
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
639
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
640
+ }
641
+ },
610
642
  "inlineAutoSize": {
611
643
  "minWidth": 190,
612
644
  "maxWidth": 360,
@@ -633,13 +665,13 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
633
665
 
634
666
  | Path/Behavior | Observed behavior (runtime) | Desired behavior | Impact | Tracking issue | Target fix |
635
667
  | --- | --- | --- | --- | --- | --- |
636
- | Canonical contract parity | No confirmed mismatch in this revision; runtime linkage verified for core flows (2026-03-06), with editor/tooling coverage pending | Keep runtime/schema/editor alignment evidence updated | Low | n/a | Monitor in periodic audit |
668
+ | Canonical contract parity | Nenhum mismatch novo foi confirmado nesta revisão de 2026-06-16; `inlineOverlay.actions.*` continua coerente com os defaults i18n `inlineCurrencyRange.actions.*` e com os tokens de tema do runtime | Manter evidências de runtime/schema/editor sincronizadas | Low | n/a | Monitor in periodic audit |
637
669
 
638
670
  ## Source references (obrigatorio)
639
671
 
640
672
  | Source type | Path/URL | Why it is source of truth | Last verified (YYYY-MM-DD) | Notes |
641
673
  | --- | --- | --- | --- | --- |
642
- | runtime-code | projects/praxis-dynamic-fields/src/lib/components/inline-currency-range/inline-currency-range.component.ts | Primary source of truth for contract and behavior. | 2026-03-06 | verified-path |
643
- | runtime-code | projects/praxis-dynamic-fields/src/lib/components/material-price-range/material-price-range.component.ts | Primary source of truth for contract and behavior. | 2026-03-06 | verified-path |
644
- | runtime-code | projects/praxis-dynamic-fields/src/lib/base/simple-base-input.component.ts | Primary source of truth for contract and behavior. | 2026-03-06 | verified-path |
645
- | schema-types | projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | Primary source of truth for contract and behavior. | 2026-03-06 | verified-path |
674
+ | runtime-code | projects/praxis-dynamic-fields/src/lib/components/inline-currency-range/inline-currency-range.component.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
675
+ | runtime-code | projects/praxis-dynamic-fields/src/lib/components/material-price-range/material-price-range.component.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
676
+ | runtime-code | projects/praxis-dynamic-fields/src/lib/base/simple-base-input.component.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
677
+ | schema-types | projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
@@ -21,8 +21,8 @@ source_of_truth:
21
21
  - "projects/praxis-dynamic-fields/src/lib/components/inline-range-slider/inline-range-slider.component.ts"
22
22
  - "projects/praxis-dynamic-fields/src/lib/components/material-range-slider/material-range-slider.component.ts"
23
23
  - "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
24
- source_of_truth_last_verified: "2026-03-16"
25
- last_updated: "2026-03-16"
24
+ source_of_truth_last_verified: "2026-06-16"
25
+ last_updated: "2026-06-16"
26
26
  toc: true
27
27
  sidebar: true
28
28
  tags:
@@ -291,10 +291,10 @@ Use quando precisar:
291
291
  | `metadata.quickPresetsAuto` | `boolean` | Ativo | Gera presets automaticamente com base na escala. |
292
292
  | `metadata.quickPresetsLabels` | `object \| string(JSON)` | Ativo | Textos custom para presets auto. |
293
293
  | `metadata.inlineDistribution/distribution/histogram` | `object \| array \| string` | Ativo | Fonte de barras de distribuicao visual. |
294
- | `metadata.inlineTexts` | `object \| string(JSON)` | Ativo | Labels de min/max/valor/presets. |
294
+ | `metadata.inlineTexts` | `object \| string(JSON)` | Ativo | Override de labels operacionais (`minLabel`, `maxLabel`, `valueLabel`, `quickPresetsLabel`, `clearActionLabel`, `doneActionLabel`) sobre os defaults i18n do namespace `inlineRange`. |
295
295
  | `metadata.inlineOverlay.applyMode` | `'auto'\|'explicit'` | Ativo | Em `explicit`, painel mantém slider/inputs/presets em rascunho até Aplicar. |
296
- | `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão Aplicar/Concluir. |
297
- | `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão Cancelar em modo explícito. |
296
+ | `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão de commit; tem precedência sobre `inlineTexts.doneActionLabel` e sobre os defaults i18n `inlineRange.applyActionLabel/doneActionLabel`. |
297
+ | `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão Cancelar em modo explícito; tem precedência sobre o default i18n `inlineRange.cancelActionLabel`. |
298
298
  | `metadata.numericFormat/numberFormat/uiFormat/dataFormat` | `string \| object` | Ativo | Regras de formatacao numerica (percent/currency/number). |
299
299
  | `metadata.currency/currencyCode/locale/decimalPlaces` | `string/number` | Ativo | Parametros de formatacao para exibicao. |
300
300
  | `metadata.inlineAutoSize.*` | `object` | Ativo | Largura do trigger e do painel no modo inline. |
@@ -310,6 +310,7 @@ Resumo de composicao deste componente:
310
310
  ### 4. Mapeamento de Comportamento
311
311
  - `mode=range` sincroniza `rangeGroup` (`start/end`) com o control principal.
312
312
  - Presets podem vir do JSON ou ser auto-gerados conforme escala.
313
+ - Defaults operacionais são resolvidos por i18n (`inlineRange.*`); `inlineTexts` customiza labels de painel e `inlineOverlay.actions.*` customiza ações com precedência máxima.
313
314
  - `inlineOverlay.applyMode=explicit` separa rascunho e valor aplicado; `Aplicar` comita, `Cancelar`/`Esc`/fora do painel descartam.
314
315
  - Distribuicao suporta compactacao automatica para preservar performance visual.
315
316
  - Formato de exibicao prioriza `displayWith` e depois pipeline de `numericFormat/numberFormat`.
@@ -353,7 +354,18 @@ Uso: filtro numerico simples em pill.
353
354
  "high": "Alta"
354
355
  },
355
356
  "inlineDistribution": { "bins": [3, 8, 15, 12, 7, 4] },
356
- "inlineTexts": { "quickPresetsLabel": "Faixas" },
357
+ "inlineTexts": {
358
+ "quickPresetsLabel": "Faixas",
359
+ "clearActionLabel": "Limpar"
360
+ },
361
+ "inlineOverlay": {
362
+ "applyMode": "explicit",
363
+ "actions": {
364
+ "apply": { "label": "Filtrar", "appearance": "filled", "colorRole": "primary" },
365
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
366
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
367
+ }
368
+ },
357
369
  "inlineAutoSize": { "minWidth": 170, "maxWidth": 320, "panelMinWidth": 260, "panelMaxWidth": 420 }
358
370
  }
359
371
  }
@@ -484,7 +496,16 @@ Correcao: ajustar `inlineAutoSize` para o contexto da toolbar.
484
496
  ]
485
497
  },
486
498
  "inlineTexts": {
487
- "quickPresetsLabel": "Faixas"
499
+ "quickPresetsLabel": "Faixas",
500
+ "clearActionLabel": "Limpar"
501
+ },
502
+ "inlineOverlay": {
503
+ "applyMode": "explicit",
504
+ "actions": {
505
+ "apply": { "label": "Filtrar", "appearance": "filled", "colorRole": "primary" },
506
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
507
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
508
+ }
488
509
  },
489
510
  "inlineAutoSize": {
490
511
  "minWidth": 170,
@@ -530,7 +551,16 @@ Correcao: ajustar `inlineAutoSize` para o contexto da toolbar.
530
551
  ]
531
552
  },
532
553
  "inlineTexts": {
533
- "quickPresetsLabel": "Faixas"
554
+ "quickPresetsLabel": "Faixas",
555
+ "clearActionLabel": "Limpar"
556
+ },
557
+ "inlineOverlay": {
558
+ "applyMode": "explicit",
559
+ "actions": {
560
+ "apply": { "label": "Filtrar", "appearance": "filled", "colorRole": "primary" },
561
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
562
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
563
+ }
534
564
  },
535
565
  "inlineAutoSize": {
536
566
  "minWidth": 170,
@@ -577,7 +607,16 @@ Correcao: ajustar `inlineAutoSize` para o contexto da toolbar.
577
607
  ]
578
608
  },
579
609
  "inlineTexts": {
580
- "quickPresetsLabel": "Faixas"
610
+ "quickPresetsLabel": "Faixas",
611
+ "clearActionLabel": "Limpar"
612
+ },
613
+ "inlineOverlay": {
614
+ "applyMode": "explicit",
615
+ "actions": {
616
+ "apply": { "label": "Filtrar", "appearance": "filled", "colorRole": "primary" },
617
+ "cancel": { "label": "Descartar", "appearance": "text", "colorRole": "neutral" },
618
+ "clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
619
+ }
581
620
  },
582
621
  "inlineAutoSize": {
583
622
  "minWidth": 170,
@@ -601,12 +640,12 @@ Correcao: ajustar `inlineAutoSize` para o contexto da toolbar.
601
640
 
602
641
  | Path/Behavior | Observed behavior (runtime) | Desired behavior | Impact | Tracking issue | Target fix |
603
642
  | --- | --- | --- | --- | --- | --- |
604
- | Canonical contract parity | Nenhum mismatch novo foi confirmado nesta revisao de 2026-03-16; `inlineTexts` e `quickPresetsLabels` continuam coerentes com o runtime atual | Manter exemplos e evidencias sincronizados em futuras rodadas de endurecimento | Low | n/a | Monitor in periodic audit |
643
+ | Canonical contract parity | Nenhum mismatch novo foi confirmado nesta revisão de 2026-06-16; `inlineTexts`, `quickPresetsLabels`, `inlineOverlay.actions` e defaults i18n `inlineRange.*` continuam coerentes com o runtime atual | Manter exemplos e evidências sincronizados em futuras rodadas de endurecimento | Low | n/a | Monitor in periodic audit |
605
644
 
606
645
  ## Source references (obrigatorio)
607
646
 
608
647
  | Source type | Path/URL | Why it is source of truth | Last verified (YYYY-MM-DD) | Notes |
609
648
  | --- | --- | --- | --- | --- |
610
- | runtime-code | projects/praxis-dynamic-fields/src/lib/components/inline-range-slider/inline-range-slider.component.ts | Primary source of truth for contract and behavior. | 2026-03-16 | verified-path |
611
- | runtime-code | projects/praxis-dynamic-fields/src/lib/components/material-range-slider/material-range-slider.component.ts | Primary source of truth for contract and behavior. | 2026-03-16 | verified-path |
612
- | schema-types | projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | Primary source of truth for contract and behavior. | 2026-03-16 | verified-path |
649
+ | runtime-code | projects/praxis-dynamic-fields/src/lib/components/inline-range-slider/inline-range-slider.component.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
650
+ | runtime-code | projects/praxis-dynamic-fields/src/lib/components/material-range-slider/material-range-slider.component.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |
651
+ | schema-types | projects/praxis-core/src/lib/models/material-field-metadata.interface.ts | Primary source of truth for contract and behavior. | 2026-06-16 | verified-path |